home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / programs / swift45i.zip / SWIFTBBS.DOC < prev    next >
Text File  |  1992-07-24  |  215KB  |  6,502 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.       ┌─       ┌──────┐
  10.       │        │      │
  11.       │        │      │
  12.       │        │      ┘
  13.       └────────┘
  14.       ┌──────┐                             S W I F T B B S
  15.       │                            Computer Based Messaging System
  16.       │                                     Version 0.45i
  17.       ├───────
  18.       │
  19.       │
  20.       └──────┘
  21.       │
  22.       ├──────┘
  23.       │
  24.  
  25.       │      │
  26.       ├──────┼───────┐
  27.       │      │       │
  28.              │               Copyright 1992, by Dana Bell
  29.             ─┘                    FidoNet 1:3801/8
  30.       │      │                              607 Pam Drive
  31.       ├──────┼────────                  Tyler, TX  75703-4850
  32.       │      │
  33.       └─
  34.  
  35.       │               │
  36.       └───────────────┤
  37.       │        │      │
  38.       │        │      │
  39.       │        ├──────┘
  40.       └────────┘
  41.                                Contents  iv
  42.       │               │                  The Basic Installation  11
  43.       └───────────────┤                         The User's View  22
  44.       │        │      │                        The Sysop's View  46
  45.       │        │      │                       Advanced SwiftBBS  55
  46.       │        ├──────┘           Utilities & Network Operation  68
  47.       └────────┘                                   Applications  82
  48.       ┌─       ┌──────┐                              Appendices  96
  49.       │        │      │                      Worksheets & Notes 126
  50.       │        │      │                                   Index 129
  51.       │        │      ┘
  52.       └────────┘
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.             ┌────────────────────────────────────┬──────┐
  60.             │   Acknowledgments (last I read)    │  ii  │
  61.             └────────────────────────────────────┴──────┘
  62.  
  63.  
  64.  
  65.      Fido, FidoNet - Tom Jennings, Fido Software
  66.      Opus-CBCS - Wynn Wagner
  67.      oMMM - Bob Hartman, Marshall Presnell, Jim Nutt
  68.      BinkleyTerm - Bit Bucket Software
  69.      ParseLst - Bob Hartman
  70.      QuickBBS, Qecho - Adam Hudson, The QuickBBS Group, Inc.,
  71.      X00 - Ray Gwinn
  72.      Lharc - Haruyasu Yoshizaki
  73.      Spaz - Dan Thomson, Andrew Farmer
  74.  
  75.  
  76.  
  77.  
  78.                        ┌──────────────────────┬─────┐
  79.                        │     Beta honors      │ iii │
  80.                        └──────────────────────┴─────┘
  81.  
  82.  
  83.  
  84.  
  85.           Special thanks go to all the SwiftBBS beta testers, and
  86.      other folks who've offered useful suggestions and criticisms
  87.      for SwiftBBS software.  And extra thanks going to those who
  88.      have helped in more primitive versions of SwiftBBS.  These
  89.      are listed in order of acquaintance.  I forgot some, ok,
  90.      many, of them, but I am keeping better records now.
  91.  
  92.      Daniel Reemes       Lightning Strike BBS      30566/14
  93.      Keith Cain          The Legend BBS            3801/5
  94.      Butch Walker        Nerd's Nook               157/3
  95.      Brandon Jones       Aerospace On-Line         284/17
  96.      Iain Brown          Smoked Armadillos         124/5118
  97.      Bob Gatewood        Flamebusters              151/104
  98.  
  99.  
  100.  
  101.           And finally, an inspirational note.  The development of
  102.      SwiftBBS is a reflection of my preferences for the features
  103.      of two other BBS packages, QuickBBS and Opus.  QuickBBS for
  104.      the quick and the customizing features, and Opus for the
  105.      simple and professional operation and appearance.  I hope the
  106.      SwiftBBS similarities will be a credit to the developers of
  107.      these two. Both systems have also been imitated by
  108.      other fine programs since then, RemoteAccess and Maximus.
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.                         ┌─────────────────┬─────┐
  117.                         │     Contents    │ iv  │
  118.                         └─────────────────┴─────┘
  119.  
  120.  
  121.  
  122.  
  123.            Acknowledgments . . . . . . . . . . . . . ii
  124.            Beta Honors . . . . . . . . . . . . . . .iii
  125.  
  126.            Contents  . . . . . . . . . . . . . . . . iv
  127.  
  128.            Dedication  . . . . . . . . . . . . . . .  1
  129.  
  130.            Introduction
  131.           Registration (license) . . . . . . . .  4
  132.           Requirements . . . . . . . . . . . . .  6
  133.           Limitations  . . . . . . . . . . . . .  9
  134.           Compatibility  . . . . . . . . . . . .  9
  135.           Packaging and Source Code  . . . . . . 10
  136.  
  137.            The Basic Installation
  138.           Jump Start . . . . . . . . . . . . . . 11
  139.           System Setup . . . . . . . . . . . . . 12
  140.           Swifcnfg . . . . . . . . . . . . . . . 12
  141.           Message Boards . . . . . . . . . . . . 18
  142.           Getting Started  . . . . . . . . . . . 20
  143.  
  144.            The User's View
  145.           The logon process (file displays)  . . 22
  146.           Opus style menus . . . . . . . . . . . 24
  147.           Bulletins  . . . . . . . . . . . . . . 30
  148.           Messaging  . . . . . . . . . . . . . . 31
  149.           Electronic mailbox . . . . . . . . . . 32
  150.           The sample message . . . . . . . . . . 34
  151.           Replies to messages  . . . . . . . . . 39
  152.           Message editors  . . . . . . . . . . . 42
  153.           Keystroke summary  . . . . . . . . . . 44
  154.  
  155.            The System Operator's View
  156.           Logon (file displays)  . . . . . . . . 46
  157.           Bulletins  . . . . . . . . . . . . . . 48
  158.           Questionnaires . . . . . . . . . . . . 49
  159.           Sysop Messaging  . . . . . . . . . . . 51
  160.           Textfile editor  . . . . . . . . . . . 52
  161.           Alt-functions  . . . . . . . . . . . . 53
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.                                   ┌─────┐
  174.                                   │  v  │
  175.                                   └─────┘
  176.  
  177.  
  178.            Advanced SwiftBBS
  179.           Custom menus . . . . . . . . . . . . . 55
  180.           User Maintenance . . . . . . . . . . . 60
  181.           Creating File Displays (with codes). . 62
  182.           Creating Bulletins (using Msgtxt)  . . 63
  183.           Creating Questionnaires (programming). 64
  184.  
  185.            Utilities & Network Operation
  186.           Network Overview . . . . . . . . . . . 68
  187.           ..ftn Networks (an overview)
  188.           ..Joining a network
  189.           ..setting up for network operation
  190.           ..The nodelist
  191.           Mail Overview  . . . . . . . . . . . . 70
  192.           ..Netmail/Echomail
  193.           Swifecho . . . . . . . . . . . . . . . 71
  194.           [ utilities ]
  195.           Swiflink . . . . . . . . . . . . . . . 75
  196.           Swifpack . . . . . . . . . . . . . . . 76
  197.           Msgtxt . . . . . . . . . . . . . . . . 77
  198.           Swifdump . . . . . . . . . . . . . . . 79
  199.  
  200.  
  201.            Applications
  202.           Networks . . . . . . . . . . . . . . . 82
  203.           Point Overview . . . . . . . . . . . . 83
  204.           BBS Overview . . . . . . . . . . . . . 84
  205.           Making the Point . . . . . . . . . . . 85
  206.           Sample BBS setup . . . . . . . . . . . 91
  207.  
  208.                Appendices
  209.           SwiftBBS menu types  . . . . . . . . . 96
  210.           SwiftBBS InfoCodes . . . . . . . . . . 99
  211.           SwiftBBS command language  . . . . .  102
  212.           Message editor interface . . . . . .  110
  213.           SwiftBBS files . . . . . . . . . . .  112
  214.           Acronyms . . . . . . . . . . . . . .  117
  215.           Smiley faces . . . . . . . . . . . .  118
  216.           Afterward  . . . . . . . . . . . . .  125
  217.  
  218.            Worksheets & Notes  . . . . . . . . . .  126
  219.  
  220.            Index . . . . . . . . . . . . . . . . .  129
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.                     ┌────────────────────┬──────┐
  231.                     │     Dedication     │  1   │
  232.                     └────────────────────┴──────┘
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.            A lot of people dedicate their books to relatives,
  248.           parents, children, and more often than not, their
  249.           wives.  Well, I'm going to do the same and dedicate this
  250.           to someone that has put up with all the things that
  251.           author's put up with.
  252.  
  253.            She's been relatively patient with me while I was
  254.           up till after 2am looking for bugs, or "on a roll" with
  255.           some new idea.  She's tolerated me when I was in a daze
  256.           thinking about something related to ints or chars, signs
  257.           or pointers, docs and control codes, and not hearing a
  258.           word she said.
  259.  
  260.            So, while she'll rarely use this program and will
  261.           never read the manual, this program is dedicated to Toni
  262.           in recognition of her sacrifices and support.
  263.  
  264.  
  265.  
  266.                                 Dana
  267.  
  268.                ┌──────────────────────────────────┐
  269.        ┌───────────────┤   Registration (license) . .  4  ├─────┐
  270.        │ Introduction  │   Requirements . . . . . . .  6  │  2  │
  271.        └───────────────┤   Limitations  . . . . . . .  9  ├─────┘
  272.                │   Compatibility  . . . . . .  9  │
  273.                │   Packaging and Source Code  10  │
  274.                └──────────────────────────────────┘
  275.  
  276.  
  277.           SwiftBBS is what has commonly been referred to as a
  278.      Bulletin Board program, though I like the term "Computer
  279.      Based Messaging System" better.  The use and developement of
  280.      BBS software today has gone beyond the "bulletins" of
  281.      original BBS software.
  282.  
  283.           The bulletin capabilities still exist but the current
  284.      trend in telecommunications is more interactive and now
  285.      involves cross-BBS message exchanges, known as echoes, in
  286.      local, national, and international levels.
  287.  
  288.           SwiftBBS and related utility software allows users to
  289.      read and enter messages to each other, and can be interfaced
  290.      with other software in order to facilitate such
  291.      international "messaging".
  292.  
  293.           SwiftBBS is basically a message database.  Consequently,
  294.      it may be suitable software for any environment where leaving
  295.      messages to others is needed.  Applications may exist for
  296.      inter-office, intra-office, home messaging, individual, group
  297.      or business echomail conferences, and as an information or
  298.      help database.  In addition to the message database, the
  299.      custom menu functions can be used as a shell.
  300.  
  301.           If that's not enough, for a cost, SwiftBBS can be
  302.      customized to meet a particular need.  Custom versions of
  303.      SwiftBBS will still operate with the same options as the
  304.      generic versions, but hard-coded with additional specialized
  305.      database options.  On-line estimates, organizational project
  306.      listings, and various accounting reports are some
  307.      possibilities.
  308.  
  309.           SwiftBBS uses and maintains QuickBBS 2.65 format control
  310.      files, data files and menus.  A database format was decided
  311.      upon because of it's efficiency.  Indexed database files
  312.      allow you to find messages quicker, and take up less space
  313.      than other .MSG files.
  314.  
  315.           SwiftBBS also supports many of the key "types" of
  316.      QuickBBS, and adds some features that make SwiftBBS easier to
  317.      setup, simpler to maintain, and more suitable for use as a
  318.      messaging system.  There are no file transfer capabilities in
  319.      the current version of SwiftBBS.
  320.  
  321.  
  322.  
  323.  
  324.  
  325.                                  ┌──────┐
  326.                                  │  3   │
  327.                                  └──────┘
  328.  
  329.           This version of SwiftBBS will support remote operation,
  330.      but is not yet ideally suited for BBS operation.
  331.      Consequently, this is still being dubbed as "pointware", for
  332.      use by point systems.
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.                      ┌────────────────────┬─────┐
  345.                      │    Registration    │  4  │
  346.                      └────────────────────┴─────┘
  347.  
  348.           SwiftBBS can be registered simply by sending me a
  349.      message either electronically (FidoNet 1:3801/8) or via
  350.      "snail" mail.  If you have a BUSINESS CARD, send me two or
  351.      three of them. I collect 'em.
  352.  
  353.  
  354.                   Dana Bell
  355.                 607 Pam Drive
  356.             Tyler, TX  75703-4850
  357.  
  358.  
  359.           There is no registration fee and registration is not
  360.      required, but your responses and suggestions are
  361.      appreciated. Because of the many ways SwiftBBS can be
  362.      configured, batchfiles and samples of just how you did it
  363.      will be appreciated. Send copies of batch files, control
  364.      files or redirected Swifdump displays, other software
  365.      control files and associated costs for supplementary
  366.      software.  Or just post the information in a message in
  367.      area SWIFTBBS.
  368.  
  369.           SwiftBBS message and file echoes are also available from
  370.      Baby Blue, 1:3801/8.  The SwiftBBS echo may be useful in
  371.      providing a reference to different setups, problem areas, bug
  372.      reports and development progress.  An attempt will be made to
  373.      keep the echo maintained by keeping a base of useful messages.
  374.  
  375.           There may also be some hints on what you can do to help
  376.      support SwiftBBS development and the supporting networks.
  377.      SWIFTBBS can be held here for weekly polls along with other
  378.      independent conferences.
  379.  
  380.  
  381.  
  382.           ... but you CAN send money if you want ...
  383.        as well as other hardware or software gifts (hint).
  384.           If you really like SwiftBBS and it works for you, and
  385.      you WANT to send money, look at what other BBS software costs
  386.      and respond accordingly.
  387.           Alternately, you can send unused hardware and software
  388.      that would help me continue with the development of this or
  389.      other software, on this or other platforms, i.e.  Unix.  Only
  390.      originals, though.  Illegal copies of copyrighted software
  391.      will be discarded.  Hardware/OS and 'C' compilers are what
  392.      I'm most interested in.  If I can't use it, I'll probably
  393.      donate it to a Christian organization, school or other
  394.      benevolent organization.
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.                                  ┌──────┐
  402.                                  │  5   │
  403.                                  └──────┘
  404.  
  405.  
  406.           Commercial use of SwiftBBS software is restricted.
  407.      SwiftBBS may be used at no cost if it's use is not purely a
  408.      chargeable item, i.e.  payment received for the use of
  409.      SwiftBBS in such a way as to increase personal or corporate
  410.      income.  SwiftBBS may be used by user groups and other groups
  411.      that receive a general membership fee.  SwiftBBS may NOT be
  412.      used if a fee is charged to the public for the use of
  413.      SwiftBBS.
  414.  
  415.           In other words, there is no restriction on the use of
  416.      SwiftBBS for private boards or private systems, but SwiftBBS
  417.      may not be used on a 'pay board', without payment of a
  418.      registration fee of at least $950.00.
  419.  
  420.           When reporting problems with any of the software, please
  421.      include the file SWIFTBBS.ERR, a description of the actions
  422.      leading up to the event, and a redirected file from Swifdump
  423.      or your system configuration.
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.                      ┌────────────────────┬─────┐
  440.                      │    Requirements    │  6  │
  441.                      └────────────────────┴─────┘
  442.  
  443.  
  444.           Two of the goals in development of SwiftBBS was to make
  445.      it functional on almost any system and compatible with
  446.      existing software.  Basic operating system functions are
  447.      employed and memory requirements are kept to a minimum.
  448.  
  449.           HARDWARE: SwiftBBS should run on all PC/XT/AT compatible
  450.      computers with at least 256K free memory and as much disk
  451.      space as you need to use for the messagebase.  The
  452.      recommended CONFIG.SYS specifications include FILES=25,
  453.      BUFFERS=25.
  454.  
  455.           SOFTWARE: The cost of software required to run SwiftBBS
  456.      ranges from $0 to $whatever.  My personal SwiftBBS setup
  457.      costs $15 for the message editor.
  458.           ANSI.SYS is not required for SwiftBBS, but is
  459.      still required for displays for most of the utility programs
  460.      (till further notice).  ANSI.SYS is a system utility that
  461.      should have been provided with your DOS.  To load ANSI.SYS,
  462.      refer to your DOS manual.  Alternately, a combined
  463.      AVATAR/ANSI driver such as ZAVT is highly recommended.
  464.           For BBS operation, a front-end/mailer (such as
  465.      BinkleyTerm or FrontDoor) is highly recommended, as many of
  466.      the features of SwiftBBS are intended for Network operation.
  467.      SwiftBBS may also be operated remotely in unattended mode
  468.      (see commandline options)
  469.           For any remote operation an active revision 5 fossil
  470.      driver is required.  X00.SYS has always been my choice, but
  471.      others are equally adequate.
  472.           Other requirements depend on how it's being used.  See
  473.      the appendices for more information on selected
  474.      implementations.
  475.  
  476.           MESSAGE EDITORS: A simple internal message editor has
  477.      been added to this version, but an external message
  478.      editor is recommended.  For SwiftBBS, QuickEd is my editor of
  479.      choice.   In  local  mode,  other  text  editors may be used,
  480.      subject to the interface restrictions noted elsewhere.
  481.  
  482.           PROGRAM & CONTROL FILES: The only required files for
  483.      simple operation of SwiftBBS are the executables and
  484.      CONFIG.BBS.  SWIFTBBS is the messaging program itself, and
  485.      SWIFCNFG is the configuration program from which you can
  486.      create CONFIG.BBS and other control files.  If you attempt to
  487.      run SWIFTBBS without a valid CONFIG.BBS, SwiftBBS will
  488.      attempt to execute SWIFCNFG in order to create one.
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.                                  ┌──────┐
  497.                                  │  7   │
  498.                                  └──────┘
  499.  
  500.           TEXT FILES: Some of the files supported but not required
  501.      by SwiftBBS include the textfiles LOGO.ASC, WELCOME.A*,
  502.      NEWS.A*, and GOODBYE.A*.  SwiftBBS also keeps a System log,
  503.      SYSTEM.LOG.  In -opus mode, SwiftBBS will display the files
  504.      OPUSMAIN.A*, OPUSMAIL.A*, OPUSINFO.A*, OPUSETUP.A*,
  505.      OPUSNET.A*, and ABOUT.A*, when the corresponding help option
  506.      is selected.  Other help files may be added as the system
  507.      develops.
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.                                   ┌─────┐
  516.                                   │  8  │
  517.                                   └─────┘
  518.  
  519.  
  520.           MENU & DATA FILES: No menu files are required.  If
  521.      SwiftBBS can't find a top menu (in the CONFIG.BBS path), it
  522.      will run in "opus" mode.  The data files MSG*.BBS are
  523.      created and updated by SwiftBBS and utility programs. If
  524.      not found, they will be created. This release is beginning to
  525.      monitor and re-create corrupt messagebase files.  If key
  526.      MSG*.BBS files are mis-matched or corrupt, new MSG*.BBS files
  527.      will be created.
  528.  
  529.           USER FILES: SwiftBBS doesn't require USERS.BBS to
  530.      operate.  When present, SwiftBBS checks users against
  531.      password, and will add new users to it, and maintain last
  532.      message read information.  Without, anybody may use the
  533.      system.  In order to create the user file, you can use
  534.      Swifcnfg.
  535.  
  536.           OTHER REQUIREMENTS: SwiftBBS does provide some support
  537.      for NETMAIL/ECHOMAIL processing.  In order to import/export
  538.      either of these you will need a supplementary program to
  539.      archive and send mail to other systems.  SwiftBBS is designed
  540.      specifically with Ommm and Binkley in mind.  SwiftBBS file
  541.      requests will create Binkley style .REQ and .CLO files and
  542.      Swifecho will create .OUT and .CLO files for this type
  543.      system.  Swifecho will now alternately create *.PKT files
  544.      and file attach messages for use with such systems as
  545.      FrontDoor.
  546.           Swifecho and other supplementary SwiftBBS programs are
  547.      described later in this file.
  548.  
  549.  
  550.  
  551.  
  552.  
  553.                      ┌────────────────────┬─────┐
  554.                      │     Limitations    │  9  │
  555.                      └────────────────────┴─────┘
  556.  
  557.           Due to the development stage of SwiftBBS, there are
  558.      several limitations.  The most notable one is the absence of
  559.      File transfers.  This version also provides only limited
  560.      support for an -unattended mode, which monitors the modem.
  561.  
  562.           Avatar support is limited to the transfer of display
  563.      codes. A local AVATAR console driver such as ZAVT is
  564.      required for proper operation. Use of such a console driver
  565.      is recommended for color systems. "Remote" operation of AVATAR
  566.      is not fully supported.
  567.  
  568.  
  569.                          ┌──────────────────────┐
  570.                          │    Compatibility     │
  571.                          └──────────────────────┘
  572.  
  573.           In one sense, SwiftBBS programs are QuickBBS 2.6x
  574.      clones, in that they create, read, and write valid QuickBBS
  575.      data file formats, included the 'counted' pascal strings.
  576.      The only incompatibility is that SwiftBBS adds a null
  577.      character to the end of each text field, which would shorten
  578.      the maximum length of text fields by a single character.
  579.  
  580.           SwiftBBS maintains compatibility with QuickBBS 2.6x, to
  581.      enable you to use third party utilities written for QuickBBS,
  582.      or even use with some QuickBBS programs.  While SwiftBBS is
  583.      free, other programs may not be & I do want to encourage you
  584.      to register any you regularly use.
  585.  
  586.           Some notable differences, though, SwiftBBS is written
  587.      totally in C.  Also, SwiftBBS programs take different
  588.      command-line arguments, and the SwiftBBS command-line is CASE
  589.      SENSITIVE.  Most of the initial options must be specified in
  590.      lowercase.
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.                       ┌──────────────────┬──────┐
  611.                       │    Packaging     │  10  │
  612.                       └──────────────────┴──────┘
  613.  
  614.  
  615.           SwiftBBS releases will probably come in several forms
  616.      with file-naming depending on its nature.  Major SwiftBBS
  617.      releases will be named SWIFTnnn.LZH and contain all
  618.      executables, documentation, and possibly some setup files or
  619.      samples, and structure information files.
  620.  
  621.           Fixes/minor releases will contain only executables and
  622.      notes.  Some utilities may also be released separately.  The
  623.      latest full public release is normally available for file
  624.      request from FidoNet 1:3801/8 with the magic filename
  625.      SWIFTBBS.
  626.  
  627.  
  628.  
  629.                          ┌──────────────────────┐
  630.                          │     Source Code      │
  631.                          └──────────────────────┘
  632.  
  633.           It has not been decided to release full source code for
  634.      SwiftBBS.  The basic code is or may be used in other on-line
  635.      database programs.  Information on code operation, and code
  636.      portions can be requested.  An option in some versions will
  637.      allow you to trace the flow of the program, by using -t on
  638.      the command line, to give you an idea of how the program is
  639.      organized.  SwiftBBS has so far been written in 100% C.
  640.  
  641.           File structures will be released with major releases in
  642.      the form of a header (*.h) file.
  643.  
  644.  
  645.  
  646.  
  647.  
  648.               ┌──────────────────────────────────┐
  649.               │   Jump Start . . . . . . . . 11  │
  650.               │   System Setup . . . . . . . 12  │
  651.       ┌───────────────┤   Swifcnfg . . . . . . . . . 12  ├──────┐
  652.       │ Installation  │   Message Boards . . . . . . 18  │  11  │
  653.       └───────────────┤   Getting Started  . . . . . 20  ├──────┘
  654.               └──────────────────────────────────┘
  655.  
  656.  
  657.           In order to get a quick look at SwiftBBS, you can
  658.      "jump-start" it with these steps.  Before you actually start
  659.      using SwiftBBS as a 'live' system, however, you should go
  660.      through the complete installation.
  661.  
  662.                          ┌──────────────────┐
  663.                          │    Jump Start    │
  664.                          └──────────────────┘
  665.  
  666.           If you're experienced with other Bulletin board
  667.      software, you may want to "jump start" SwiftBBS to get a
  668.      quicker look at it. Below are some simple steps for such a
  669.      jump start.
  670.  
  671.           This doesn't mean SwiftBBS is properly installed. When
  672.      installing SwiftBBS for live use, be sure to read the
  673.      documentation fully and go through all the installation
  674.      screens, particularly if it'll be used for echomail.
  675.  
  676.           SwiftBBS is small enough that you can try it out on a
  677.      floppy based system, but due to the slow speed of floppy disk
  678.      file access, it's not recommended for actual use.
  679.  
  680.           1) Create a separate directory for SwiftBBS and
  681.      extract all the files in the archive into this directory
  682.      and/or sub-directories.
  683.  
  684.           2) Create/edit an AREAS.BBS file in the QuickBBS format
  685.      for all areas you will be using.  If a CONFIG.BBS file
  686.      exists, delete or rename it.
  687.  
  688.           3) Now run SWIFCNFG. If no CONFIG.BBS exists when
  689.      Swifcnfg runs, it will import the areatags for all the
  690.      areas in AREAS.BBS and use them for the Board description.
  691.      All areas will also be set to echo status.
  692.           In the appropriate sections of SwiftBBS configuration,
  693.      enter the Netmail address you will be using, and system
  694.      paths, and Save setup.  In the user editor, enter your name
  695.      and selected parameters.  Menus are not required.
  696.  
  697.           4) Run SwiftBBS with the -o option for Opus menus. For
  698.      ANSI or AVATAR, you can also use the appropriate options.
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.                     ┌────────────────────┬──────┐
  706.                     │    System Setup    │  12  │
  707.                     └────────────────────┴──────┘
  708.  
  709.           Setting up SwiftBBS is similar to setting up any new
  710.      program.  Unless you intend to use a floppy drive, you will
  711.      probably want to set up a separate directory for it.  If you
  712.      intend to support netmail/echomail you will also need to
  713.      maintain separate directories to control mail traffic, and
  714.      use other programs, and probably create a batch file to
  715.      control the sequence of operations.  Supplementary programs
  716.      for netmail/echomail are documented elsewhere.
  717.  
  718.           In any case, my preference is to put all the executables
  719.      in a single directory and include it first in the path.  This
  720.      will keep the program files separate from the many data files
  721.      that may be used.  The appendices will discuss the use of
  722.      directories and batch files further.
  723.  
  724.  
  725.                          ┌──────────────────┐
  726.                          │     Swifcnfg     │
  727.                          └──────────────────┘
  728.  
  729.           In order to get SwiftBBS running for the first time, you
  730.      will need to identify the system and set up message areas.
  731.      The main program for this is SWIFCNFG and the number of
  732.      options available in SWIFCNFG will depend on the version you
  733.      have.  The current version will display the following
  734.      options.
  735.  
  736.              ╒══════ Main Menu ══════╕
  737.              │SwiftBBS configuration │▒
  738.              │User editor            │▒
  739.              │Menu editor            │▒
  740.              │Quit to DOS            │▒
  741.              └───────────────────────┘▒
  742.               ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  743.  
  744.           The SwiftBBS configuration option of SWIFCNFG
  745.      creates/edits the required file CONFIG.BBS.  The arrangement
  746.      is similar to QuickBBS' QCONFIG, but does not include
  747.      protocols and other unused features.  If you are using
  748.      SWIFTBBS as a point system, many of the options will not
  749.      apply.  By going through each screen, you will normally be
  750.      able to identify the parameters that need to be specified.
  751.           SWIFCNFG also differs by including Menu and User
  752.      editors.  The following discussion covers only the
  753.      Configuration option.  The user and menu editors included in
  754.      SWIFCNFG are discussed later.
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.                                  ┌──────┐
  763.                                  │  13  │
  764.                                  └──────┘
  765.  
  766.           By selecting SwiftBBS Configuration, a sub-menu will be
  767.      shown similar to the following.  Cursor keys will allow you
  768.      to move the cursor bar up and down to select options.
  769.      An option can also be selected by pressing the appropriate
  770.      letter. Pressing <enter> will execute the selected option.
  771.  
  772.  
  773.             ╒═  SwiftBBS Configuration ═╕
  774.             │ 1>  BBS ID & system paths │▒
  775.             │ 2>  Initialization        │▒
  776.             │ 3>  BBS network defaults  │▒
  777.             │ 4>  Query options         │▒
  778.             │ M>  Message boards        │▒
  779.             │ Q>  Quit and Save         │▒
  780.             │ A>  Abort without saving  │▒
  781.             └───────────────────────────┘▒
  782.              ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  783.  
  784.  
  785.  
  786.           The options under "1> BBS ID & system paths" control
  787.      where SwiftBBS looks for certain types of files, and the
  788.      editor it will use.  The following screen shows the options
  789.      available here.  The active text is identified with a
  790.      screened entry field and the current position should be
  791.      evident by the cursor.  In most screens the basic cursor keys
  792.      will allow you to navigate within the field.  SwiftBBS
  793.      automatically truncates spaces from the end of the field.
  794.  
  795.                   SwiftBBS Configuration  -  BBS Identification
  796.           BBS System:  Dana's Swift Site░░░░░░░░░░░░░░░░░░░░░░░
  797.           BBS Sysop:   Dana L. Bell
  798.           Originline:  A SwiftBBS test site
  799.           Extraspace:  ^A
  800.           Textpath:
  801.            C:\POINT\SW\
  802.           Menu Path:
  803.            C:\POINT\SW\
  804.           Netpath:
  805.            C:\POINT\MAIL\
  806.           DOS command for external editor:
  807.            QUICKED.EXE
  808.           Reply Quoting string:    ^A>
  809.           Type 7/15 Loading message text:
  810.            Loading, Please Wait ...
  811.           Bulletin (type 6) prompt:
  812.            Type Selection or L to List, [Enter]=Quit:
  813.  
  814.  
  815.  
  816.  
  817.  
  818.  
  819.                                  ┌──────┐
  820.                                  │  14  │
  821.                                  └──────┘
  822.  
  823.           BBS System and BBS Sysop identify the board to callers
  824.      during the logon process, and in other information screens.
  825.      The Originline is appended to all echo messages along with
  826.      the specified network address for the message area.
  827.  
  828.           NOTE: The Sysop name is NOT used in entering messages
  829.      for point systems.  Users are always asked for their name
  830.      during logon.  If you operate a single user point and want to
  831.      bypass entering your name each time, you can use the -r
  832.      option.  Logon normally the first time, then logoff to create
  833.      an EXITINFO.BBS file.  Subsequently, using the -r option will
  834.      read the user information from this file.  Multiple user
  835.      points may also use the -#<userno> option, discussed
  836.      elsewhere, for swift logons.
  837.  
  838.           The Textpath identifies the location of *.AVT, *.ANS,
  839.      and *.ASC display files.  This includes normal display files
  840.      as well as the help files.  The Menupath identifies the
  841.      location of your custom SwiftBBS menus.  The menu editor in
  842.      Swifcnfg also uses this information to find the menus.  All
  843.      paths should end with a '\'.  The Netpath is where all
  844.      incoming netmail and unidentified areatag messages are put,
  845.      in .MSG format.
  846.  
  847.           The "Reply Quoting string" is inserted in front of lines
  848.      quoted from a previous message. Control-A uses the initials
  849.      of the author.
  850.  
  851.  
  852.           The options under "2> Initialization" control the
  853.      basic commport operation.  This information is also used when
  854.      using SwiftBBS in terminal mode.
  855.  
  856.          SwiftBBS Configuration  -  Initialization
  857.      COM port #   1                      Max Baud:    2400
  858.      Init tries   3                      Inactive Timeout (secs): 1200
  859.      Foreground Color:    14             Background Color:    0
  860.  
  861.      Modem Initialization:
  862.        |ATE1F1M0Q0V1X4C1H0S0=1S7=15|
  863.      Modem Init Response:
  864.        OK|
  865.      Modem Busy String:
  866.        ATH1░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  867.  
  868.      Default Security:  1
  869.                                                                  
  870.      Flags  A: [--------]  B: [--------]  C: [--------]  D: [--------]
  871.  
  872.  
  873.  
  874.  
  875.  
  876.                                  ┌──────┐
  877.                                  │  15  │
  878.                                  └──────┘
  879.  
  880.  
  881.           The COM port and Max Baud are used to initialize the
  882.      modem and fossil for BBS operation and use as a terminal
  883.      program.
  884.           The Modem Initialization is what's sent to the modem
  885.      when starting in unattended or terminal mode.
  886.           The Modem Busy String is also the hangup string when
  887.      users logoff.  To operate SwiftBBS as a door with the -r
  888.      option, leave this blank.  This is a new feature of SwiftBBS
  889.      so change or improvements are possible.
  890.  
  891.           Default Security and Flags are the settings given to
  892.      any new users during logon.
  893.  
  894.  
  895.                                  ┌──────┐
  896.                                  │  16  │
  897.                                  └──────┘
  898.  
  899.  
  900.           The options under "3> BBS network defaults" control how
  901.      messages areas identify themselves to the rest of the
  902.      network. In local areas, this is insignificant. In NETMAIL
  903.      and ECHOMAIL, this is important.
  904.  
  905.           SwiftBBS Configuration  -  BBS network defaults
  906.  
  907.                 Zone  Net   Node  Point
  908.       Main Node Address: 1    :30566/8    .0
  909.       Aka Address #1:    1    :3801 /8    .8
  910.       Aka Address #2:    0    :0    /0    .0
  911.       Aka Address #3:    0    :0    /0    .0
  912.       Aka Address #4:    0    :0    /0    .0
  913.       Aka Address #5:    0    :0    /0    .0
  914.  
  915.       Netmail board:     5
  916.  
  917.           Unless you operate as a point system or with several
  918.      networks, you will only need to use the Main Node Address for
  919.      identification.
  920.           The Main Node Address is normally used to identify
  921.      NETMAIL originating from the system.  The alternate "Aka"
  922.      addresses can optionally be selected for individual messages
  923.      areas, by selecting "aka to use" in the Message board
  924.      configuration.
  925.           For point operation with a pointnet number, it's
  926.      recommended that the pointnet number be used as the Main Node
  927.      Address (for netmail) and that the point number be used as
  928.      Aka-1.  Except for the netmail board, Swifcnfg message areas
  929.      default to aka-1.  For BBS operation, entering the node
  930.      address in both lines will make for easier addition of
  931.      echomail areas.
  932.           The Netmail board is where all incoming netmail and
  933.      unidentified areatag messages are put.
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.                                  ┌──────┐
  953.                                  │  17  │
  954.                                  └──────┘
  955.  
  956.  
  957.           Most of the options in "4> Query options" are either not
  958.      used or optional.  The prompt for "run in monochrome", is not
  959.      required or used by SwiftBBS, but if it is not set proper for
  960.      QuickBBS's QCONFIG, that program (& probably other QuickBBS
  961.      programs) will not display properly, and could hang up the
  962.      display.
  963.  
  964.           Select 'Y' or 'N' to permit any of the following
  965.      options.  Where 'Y' is displayed, enabling the option is
  966.      recommended.
  967.  
  968.           SwiftBBS Configuration  -  Query Options
  969.       Use Monochrome mode  N
  970.       Direct screen write  N
  971.       Check for snow       N
  972.       Screen blanking      N
  973.       Use fast logon       N
  974.       Autologochar:        N
  975.       One word names       N
  976.       ANSI/Graphics        Y
  977.       Check for mail       Y
  978.       Use lastread ptrs    Y
  979.       Exit on Net/Echo:    Y
  980.       Ask home phone:      N
  981.       Ask data phone:      N
  982.       Ask Age:             N
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.                       ┌──────────────────────┬──────┐
  991.                       │    Message boards    │  18  │
  992.                       └──────────────────────┴──────┘
  993.  
  994.  
  995.           The messages in SwiftBBS are all kept in a single set of
  996.      messagebase files, indexed for quicker access.  In order to
  997.      allow several areas to be used, each message is coded with a
  998.      board number, and each board can be configured with certain
  999.      parameters.  Specifically, each message board can be
  1000.      identified with a name and also be set for different access
  1001.      levels.
  1002.  
  1003.           There are a possible 200 message boards.  In the
  1004.      configuration program, navigating the message boards and
  1005.      fields within each board configuration is done with the arrow
  1006.      keys.  In order to go to a certain board number, press <F1>
  1007.      and enter the board number to edit.
  1008.  
  1009.  
  1010.                                             Board number to edit:  2░░
  1011.  
  1012.                   SwiftBBS Configuration  -  Message boards
  1013.           Board   1:  Grace
  1014.           Board Type: (0=Standard, 1=Net, 3=Echo)     0
  1015.           Board Kind: (0=both, 1=priv, 2=publ, 3=RO)  0
  1016.           Aka to use: (0 for primary address)         0
  1017.           Use combined:   N
  1018.       Allow aliases: N
  1019.  
  1020.       Read:  1     Flags  A: [--------]  B: [--------]  C: [---
  1021.       Write: 5     Flags  A: [--------]  B: [--------]  C: [---
  1022.       Sysop: 32000 Flags  A: [--------]  B: [--------]  C: [---
  1023.  
  1024.       Areatag:   GRACE                     =   3801/8░░░░░░░░░░░░░
  1025.       Origin line:   Baby Blue HST *  Gracious Discussions
  1026.       <F1> Select board number             (1:3801/6.0)
  1027.  
  1028.  
  1029.           The name included in this screen is the name used to
  1030.      identify the board to the user.  This is NOT the same as the
  1031.      echo areatag.  The echo areatag is used and monitored by
  1032.      other programs.
  1033.  
  1034.           The configuration of each board also determines how the
  1035.      message will be treated.  By enabling echomail, messages can
  1036.      be imported or exported to international conferences.  The
  1037.      Board Type is crucial for echomail processing.  Setting this
  1038.      to 3 for ECHO on most areas is advisable.  "Aka to use"
  1039.      refers to the address setting in previous screens.  The
  1040.      address of the Aka being used will be displayed on the bottom
  1041.      line.
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.                                  ┌──────┐
  1048.                                  │  19  │
  1049.                                  └──────┘
  1050.  
  1051.  
  1052.           The combined setting determines if the message area is
  1053.      included in combined reading of messages.  Depending on your
  1054.      messagebase, you may either want to set this on for all
  1055.      areas, or set it only on general or local areas.  SwiftBBS
  1056.      doesn't yet have a facility for users to select a custom set
  1057.      of message areas.  Aliases are also not yet supported.
  1058.  
  1059.           Read, Write and Sysop security levels and flags can be
  1060.      set for each message area.  By setting one or more of the
  1061.      security levels, you can restrict use of a message area to
  1062.      users with that security level or above.  Except for general
  1063.      sysop functions, these security levels are the only ones used
  1064.      when operating with internal menus.
  1065.  
  1066.           Read access to a board allows users to Read messages but
  1067.      not reply.  Write access allows users to Reply or Enter new
  1068.      messages.  Sysop access allows the user to manipulate the
  1069.      message by moving, deleting, keeping, etc.
  1070.  
  1071.           An added feature in the board configuration menu is the
  1072.      ability to enter custom Origin lines, Areatag and forwarding
  1073.      nodes along with the other specifications for the board.
  1074.      These specifications are contained in separate files.
  1075.      Swifcnfg reads a fully formatted ECHOORIG.CTL and AREAS.BBS,
  1076.      but only writes back areatags and forwarding nodes.  Comments
  1077.      and passthrough areas are not saved.  Instead, Swifcnfg saves
  1078.      the "initial" files in the files AREAS.1ST and ECHOORIG.1ST.
  1079.      Subsequently Swifcnfg modifications will also save the
  1080.      previous file with a "BAK" extension.
  1081.  
  1082.           When Swifcnfg creates it's own CONFIG.BBS, it uses
  1083.      several defaults.  The netmail board defaults to 5, all other
  1084.      areas are set to echomail, public, aka 1, combined yes,
  1085.      aliases no, and security levels of 1 / 5 / 32000.  If an
  1086.      AREAS.BBS file exists at this time, Swifcnfg will import the
  1087.      areatag as the message area description.
  1088.  
  1089.           Adjusting the other entries to conform to this will make
  1090.      installation a bit easier.
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.                       ┌──────────────────────┬──────┐
  1105.                       │   Getting Started    │  20  │
  1106.                       └──────────────────────┴──────┘
  1107.  
  1108.  
  1109.           I don't want to over-simplify, but to start SwiftBBS,
  1110.      type SwiftBBS on the command line FOLLOWED by one of the
  1111.      options.  Command-line options are specified by prefixing
  1112.      them with a '-'.  Commands may be packed or expanded, but
  1113.      options that require an argument (or other specification)
  1114.      must be followed by a space.  For example,
  1115.  
  1116.               Swiftbbs -l -v -mMYMAIN -a
  1117.  
  1118.                  =or=
  1119.  
  1120.                Swiftbbs -lvmMYMAIN -a.
  1121.  
  1122.      will run SwiftBBS in local console mode, with ANSI codes
  1123.      enabled during logon, with AVATAR codes supported, and using
  1124.      MYMAIN.MNU as the "top" menu.
  1125.  
  1126.  
  1127.      Command line options for SwiftBBS include the following:
  1128.  
  1129.          -a = ansi.sys active; Since SwiftBBS doesn't know if the
  1130.             user is ANSI.SYS capable prior to logon, SwiftBBS starts in
  1131.         ASCII mode. This will over-ride this default.
  1132.  
  1133.      -b<baudrate> = user on-line at <baudrate>.  SwiftBBS will
  1134.         initialize the fossil to the specified baudrate and logon
  1135.         the user on-line.  Valid baudrates are 300, 1200, 2400,
  1136.         4800, 9600, and 19200, and can also be indicated without
  1137.         the two trailing zeros, i.e. 3, 12, 24, 48, 96.
  1138.  
  1139.      -d = operate as door; Starts SwiftBBS normally, but does
  1140.         not hang up when exiting.
  1141.  
  1142.          -e<errorlevel> = exit at errorlevel; Exits with the specified
  1143.             errorlevel.  If echomail is entered the errorlevel is
  1144.         reset to 5.
  1145.  
  1146.      -i = ignores time limits for current user.
  1147.  
  1148.          -l = local mode; Starts SwiftBBS for local operation.  No
  1149.             fossil initialization and use is involved.  Since remote
  1150.         operation is not fully supported, this is the default.
  1151.  
  1152.      -mo = opus style messaging menu only. Use in conjunction
  1153.         with the relog option for quick point system logons.
  1154.         This option must be followed by a space.
  1155.  
  1156.      -m<menuname> = Starts SwiftBBS with menuname being used as
  1157.         the top menu.
  1158.  
  1159.  
  1160.  
  1161.                                  ┌──────┐
  1162.                                  │  21  │
  1163.                                  └──────┘
  1164.  
  1165.  
  1166.      -o = opus mode; Starts SwiftBBS and uses default 'opus' style
  1167.         menus.  These built-in menus are displayed below.
  1168.  
  1169.      -p<com port> = use alternate communications port.
  1170.  
  1171.      -r = relog user; Logs user from the file EXITINFO.BBS.
  1172.  
  1173.      -t = trace mode; Displays information about key program
  1174.             function calls to assist in the debugging of the program.
  1175.         A little much in most cases, but might be educational.
  1176.  
  1177.      -u = unattended. "Answers" the phone and initiates the
  1178.         logon process.
  1179.  
  1180.      -v = avatar support provided. Specifies that the local
  1181.         terminal supports AVATAR. An Avatar driver is required.
  1182.  
  1183.          -w<filename.ext> = use specified word processor/editor;
  1184.         Allows you to use an alternate message editor.
  1185.  
  1186.      -T = dumb terminal mode.
  1187.  
  1188.      -? = ??displays usage screen;
  1189.  
  1190.      -#<userno> = Logs user number <userno> directly from the User
  1191.         file.  No password checking.
  1192.  
  1193.           The order of options specified on the command line
  1194.      is significant when alternate logon options are considered.
  1195.      Otherwise, all settings are made prior to normal logon.
  1196.  
  1197.           Getting started using a messaging program may be a bit
  1198.      slow if you don't have any messages to read, so some releases
  1199.      may include some of this documentation, or other messages in
  1200.      a starter message base (MSG*.BBS).  Alternately, you can use
  1201.      MSGTXT to import a series of messages from a text file.
  1202.  
  1203.           When a USERS.BBS is present, the user is asked for a
  1204.      name, searches for the same name in the USERS.BBS file, and
  1205.      if found, requests a password.  Use Swifcnfg to create
  1206.      USERS.BBS.
  1207.           When no USERS.BBS is present, the logon only asks for a
  1208.      name.
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.                  ┌───────────────────────────────┐
  1219.       ┌──────────────────────┤  Logon (file displays)  . 22  ├──────┐
  1220.       │   The User's View    │  Opus style menus . . . . 24  │  22  │
  1221.       └──────────────────────┤  Bulletins  . . . . . . . 30  ├──────┘
  1222.                  │  Messaging  . . . . . . . 31  │
  1223.                  │  Electronic mailbox . . . 32  │
  1224.                  │  The disected message . . 34  │
  1225.                  │  Replies to message . . . 39  │
  1226.                  │  Message editors  . . . . 42  │
  1227.                  │  Keystroke summary  . . . 44  │
  1228.                  └───────────────────────────────┘
  1229.  
  1230.  
  1231.           Many of the problems associated with BBS software are
  1232.      likely to be the result of some user's action, or something
  1233.      noticed by one of the users.  That is one reason for the
  1234.      following section.  Another reason is the fact that BBS
  1235.      packages don't usually come with documentation dedicated to
  1236.      helping the user learn its operation.
  1237.           The following is a description of SwiftBBS as the
  1238.      User's will view it.
  1239.  
  1240.  
  1241.                            ┌────────────────┐
  1242.                            │     Logon      │
  1243.                            └────────────────┘
  1244.  
  1245.           When a user calls a SwiftBBS system, he is initially
  1246.      greeted with a SwiftBBS identification note, followed by a
  1247.      sysop defined introduction screen identifying the BBS.
  1248.      Following these displays, the user is asked for his name.
  1249.      If the user's name is found in the user file, he's asked
  1250.      for his password.
  1251.  
  1252.           New users are required to complete a questionnaire
  1253.      that will determine their configuration when calling the
  1254.      system. During configuration, some options will allow the
  1255.      user to select the (safe) default by pressing enter when
  1256.      prompted. Most options can also be changed later if desired.
  1257.  
  1258.           The video mode that the caller uses depends on the
  1259.      callers local configuration.  The following problems are
  1260.      common to selecting the incorrect video configuration.
  1261.  
  1262.           If garbage characters appear on the screen that include
  1263.      numbers, semicolons and brackets ([35;34f....), the BBS is
  1264.      sending ANSI codes and the user hasn't loaded the device
  1265.      driver to interpret them.  DOS comes with ANSI.SYS that must
  1266.      be included in the CONFIG.SYS file.  An alternate ANSI.COM is
  1267.      also available for interpreting ANSI codes.
  1268.  
  1269.           If garbage characters appear on the screen that include
  1270.      punctuation, music & graphic characters, and frequent beeps,
  1271.      that suggests that the BBS is sending AVATAR codes and the
  1272.      user either isn't using a terminal program that supports
  1273.      AVATAR or hasn't loaded a device driver for them.
  1274.  
  1275.                                  ┌──────┐
  1276.                                  │  23  │
  1277.                                  └──────┘
  1278.  
  1279.  
  1280.           AVATAR is a new, quicker method of sending remote
  1281.      color/graphic codes.  Some terminal programs support AVATAR
  1282.      codes internally, and there are a few device drivers
  1283.      available for the local console.  In order to use AVATAR
  1284.      codes, the sysop will need to have a console driver
  1285.      installed.  SwiftBBS was developed and tested with the ZAVT
  1286.      combined ANSI / AVATAR console driver.
  1287.  
  1288.  
  1289.      File Displays
  1290.           Following the Name and Password, a welcome file may be
  1291.      displayed matching the user's video mode selection.  This is
  1292.      customarily a graphic display of some type.  As with most
  1293.      textfile displays, selecting 'P' will pause and 'S' will
  1294.      abort the display.  Frequent callers may want to bypass these
  1295.      time-consuming displays.  If there is an active NEWS file,
  1296.      that will be shown next.
  1297.  
  1298.           Other options may be specified by the sysop.  Mail
  1299.      checking is one of the more common functions provided during
  1300.      logon.  With mailchecking, SwiftBBS searches the message base
  1301.      for unreceived messages addressed to the user and gives the
  1302.      user the option to read and/or reply to them.
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.                       ┌──────────────────┬──────┐
  1314.                       │    Opus Menus    │  24  │
  1315.                       └──────────────────┴──────┘
  1316.  
  1317.  
  1318.           From there, the options may be controlled by sysop
  1319.      defined menus.  If the sysop doesn't customize menus,
  1320.      SwiftBBS will provide a set of standard menus that may be
  1321.      used for most functions on the system.  The use of the
  1322.      standard menus is what I call opus menus, or opus style
  1323.      menus, since there are usually displayed with a bar and the
  1324.      initial letter of selections are highlighted similar to
  1325.      Opus-CBCS systems.
  1326.  
  1327.           From these standard menus you can have access to all
  1328.      available message areas, with options for read, scan, and
  1329.      enter.  Other features are provided for changing setup.
  1330.      Sample displays of these menus are illustrated below (minus
  1331.      the color).  The actual display may vary slightly for newer
  1332.      releases.  Depending on the display, the initial character
  1333.      for each option is either highlighted or bracketed, as in
  1334.      M)essages.
  1335.  
  1336.          The MAIN Menu███████████████████████████████████████████████████
  1337.  
  1338.      Message section Files            Bulletins    Network section
  1339.      Setup options   Information      Custom menu
  1340.      Quickmenus      Goodbye (logoff) ?Help
  1341.          SELECT:
  1342.  
  1343.               Primary options available from The MAIN Menu include:
  1344.  
  1345.      M)essage section -- transfers control to the message section
  1346.         panel described below.
  1347.      F)iles -- transfers control to the File section.  File
  1348.         options aren't complete and may not be active in this
  1349.         release.
  1350.      B)ulletins -- executes a type 12 file display for files
  1351.         BULLET.*
  1352.      N)etwork section -- tranfers control to the Network section
  1353.         described below. Network options include node lookup and
  1354.         file requests.
  1355.      S)etup options -- transfers control to the Change Setup
  1356.         panel described below.
  1357.      I)nformation -- transfers control to the Information panel.
  1358.      C)ustom menu -- accesses the QuickBBS style CUSTOM.MNU.
  1359.      Q)uickmenus -- transfers (or returns) control to customized menus
  1360.         beginning with the top menu.
  1361.      G)oodbye -- logs off the user and terminates the program.
  1362.      ?)Help -- displays a sysop's help file related to this
  1363.         section. Files supplied with the SwiftBBS release may
  1364.         include this description as the help file.
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.                                  ┌──────┐
  1371.                                  │  25  │
  1372.                                  └──────┘
  1373.  
  1374.      The Message Section█████████████████████████████████████████████
  1375.          System has 14 messages numbered 1 to 14.
  1376.          There are 9 messages in this area.
  1377.  
  1378.      ECHO area 20 ... BabyNet
  1379.          Area change Read messages Enter message Check mailbox !List active
  1380.          Swiftscan   Main Menu     Goodbye       ?Help
  1381.          SELECT:
  1382.  
  1383.               Options available from The MESSAGE Section include:
  1384.  
  1385.          A)rea change -- displays a list of named message areas.
  1386.         Selecting 0 selects combined areas. Combined settings in
  1387.             CONFIG.BBS determine the areas included in combined
  1388.         access. The last area used is saved at logoff.
  1389.      R)ead messages -- Reads messages in the active message
  1390.         area, provided the user's access levels are adequate for
  1391.             the message area.
  1392.          E)nter message -- Allows you to enter a new message in the
  1393.             active area. If combined is selected, you will be prompted
  1394.             for an area.
  1395.          C)heck mailbox -- Displays a list of un-received messages
  1396.             addressed to you, and gives you an option to read them.
  1397.          !)List active -- Lists all boards (with or without names),
  1398.             with active messages.
  1399.      S)wiftscan -- Lists messages with From, To, Subject for the
  1400.             active area.  If selected from combined areas, the message
  1401.         board will also be displayed.
  1402.      M)ain Menu -- returns to the Main Menu.
  1403.      G)oodbye -- logs off the user and terminates the program.
  1404.      ?)Help -- displays a sysop's help file related to this
  1405.         section. Files supplied with the SwiftBBS release may
  1406.         include this description as the help file.
  1407.  
  1408.                                  ┌──────┐
  1409.                                  │  26  │
  1410.                                  └──────┘
  1411.  
  1412.      The File Section█████████████████████████████████████████
  1413.  
  1414.      File list      View file        Download       Upload
  1415.      Main Menu      Goodbye (logoff) ?Help
  1416.      SELECT:
  1417.  
  1418.           Options available from The File Section include:
  1419.  
  1420.      F)ile list -- displays the file FILES.BBS in the
  1421.         subdirectory FILES.
  1422.      V)iew file -- prompts for and displays a file in the
  1423.         subdirectory FILES.
  1424.      T)ransfers -- calls the custom menu FILES.MNU. The
  1425.         FILES.MNU may be used to call external file transfer
  1426.         utilities.
  1427.      M)ain Menu -- returns to the Main Menu.
  1428.      G)oodbye -- logs off the user and terminates the program.
  1429.      ?)Help -- displays a sysop's help file related to this
  1430.         section. Files supplied with the SwiftBBS release may
  1431.         include this description as the help file.
  1432.  
  1433.         Note: The File Transfer Options are not complete in this
  1434.      release, but the File Section menu is being left in tact, as
  1435.      it may serve your purposes to list and allow display of a
  1436.      free-form list of files.
  1437.  
  1438.  
  1439.  
  1440.      The Network Section█████████████████████████████████████████
  1441.  
  1442.      File Request  Node search  Main Menu  Goodbye (logoff) ?Help
  1443.      SELECT:
  1444.  
  1445.           Options available from The Network Section include:
  1446.  
  1447.      F)ile Request -- if enabled by the sysop, allows the user
  1448.         to make a file request (FReq) through BinkleyTerm. Freqs
  1449.         are also logged in the SYSTEM.LOG.
  1450.      N)ode search -- searches the nodelist and displays system
  1451.         information about the selected net/node number.
  1452.      M)ain Menu -- returns to the Main Menu.
  1453.      G)oodbye -- logs off the user and terminates the program.
  1454.      ?)Help -- displays a sysop's help file related to this
  1455.         section. Files supplied with the SwiftBBS release may
  1456.         include this description as the help file.
  1457.  
  1458.  
  1459.  
  1460.  
  1461.  
  1462.  
  1463.  
  1464.  
  1465.                                  ┌──────┐
  1466.                                  │  27  │
  1467.                                  └──────┘
  1468.  
  1469.  
  1470.      The Information Section███████████████████████████████████████
  1471.  
  1472.      Configuration    User List   About ...          Version
  1473.      Yell at sysop    Main Menu   Goodbye (logoff)   ?Help
  1474.      SELECT:
  1475.  
  1476.           Options available from The Information Section include:
  1477.  
  1478.      C)onfiguration -- displays the user's configuration.
  1479.      U)serList -- displays a listing of active users, city and
  1480.         last time on.  The sub-menu allows you to search by Name
  1481.         or Location.  Enter a part of the name to limit the
  1482.         display to fewer names.  A global search '*' is supported
  1483.         for both options to allow searching within the string.
  1484.      A)bout ... -- displays a sysop's descriptive file
  1485.         telling about something. Files are supplied with the
  1486.         SwiftBBS release for this purpose, though the operator
  1487.         may include any subject material, such as a description
  1488.         of the individual system.
  1489.      V)ersion -- displays the current version of SwiftBBS.
  1490.      Y)ell at sysop -- prompts for a comment and activates the
  1491.         local bell to get the sysop's attention.
  1492.      M)ain Menu -- returns to the Main Menu.
  1493.      G)oodbye -- logs off the user and terminates the program.
  1494.      ?)Help -- displays a sysop's help file related to this
  1495.         section. Files supplied with the SwiftBBS release may
  1496.         include this description as the help file.
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.                                  ┌──────┐
  1504.                                  │  28  │
  1505.                                  └──────┘
  1506.  
  1507.  
  1508.      The CHANGE SETUP Section███████████████████████████████████████
  1509.  
  1510.      Review        Password       City State       Length    More
  1511.      Screen clear  Full-scrn      Ansi graphics    V avatar  User List
  1512.      Quit section  Yell at sysop  Goodbye (logoff) ?Help
  1513.          SELECT:
  1514.  
  1515.               Options available from The Change Setup Section include:
  1516.  
  1517.      R)eview -- (new option) displays the users current status
  1518.         similar to this display.
  1519.        Name: Dana Bell              City: Tyler, Tx
  1520.        Ansi......Y    Full-scrn editor.Y    Avatar.........N
  1521.        More?.....Y    Clearscreen......Y    Screen length...22
  1522.        Flags  A:[-XX---X-] B:[XX-X-XXX] C:[---X--X-] D:[----X--X]
  1523.        Security Level....32000
  1524.        Highest message read....199
  1525.        Time Left: 356
  1526.          P)assword -- allows the user to change his password. This
  1527.             option requires that the user enter his current password
  1528.             and the new password to use.
  1529.          C)ity State -- allows the user to change the city, state
  1530.             information in the user file.
  1531.      L)ength -- allows the user to change the display screen
  1532.         length.
  1533.      M)ore -- allows the user to toggle page-pausing.
  1534.      S)creen clear -- allows the user to toggle screen-clearing
  1535.         between messages.
  1536.      F)ull-scrn edit -- toggles the use of a full screen editor.
  1537.         This option requires color/graphics ANSI displays
  1538.      A)nsi graphics -- toggles the use of ANSI.SYS
  1539.         color/graphics display codes.
  1540.      V) Avatar -- toggles the use of AVATAR.SYS color/graphics
  1541.         display codes.  Since this requires a local display
  1542.         driver, individual systems may have this disabled.
  1543.      U)serList -- displays a listing of active users, city and
  1544.         last time on.  The sub-menu allows you to search by Name
  1545.         or Location.  Enter a part of the name to limit the
  1546.         display to fewer names.  A global search '*' is supported
  1547.         for both options to allow searching within the string.
  1548.      Q)uit section -- returns to the Main menu.
  1549.      Y)ell at sysop -- prompts for a comment and activates the
  1550.         local bell to get the sysop's attention.
  1551.      G)oodbye -- logs off the user and terminates the program.
  1552.      ?)Help -- displays a sysop's help file related to this
  1553.         section. Files supplied with the SwiftBBS release
  1554.         include this description as the help file.
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.                                  ┌──────┐
  1561.                                  │  29  │
  1562.                                  └──────┘
  1563.  
  1564.           One other menu that might be considered an "Opus style"
  1565.      is a menu type for a message area.  It is a custom option
  1566.      menu "type" that provides options for Reading, Scanning, and
  1567.      Entry of messages in the same manner as the Message Section
  1568.      described above.
  1569.  
  1570.      The MESSAGE Section███████████████████████████████████████
  1571.      System has 37 messages numbered 1 to 37.
  1572.      There are 2 messages in this area.
  1573.  
  1574.      ECHO area 1 ... LOCAL
  1575.      Read messages  Enter message  Swiftscan
  1576.      Previous Menu  Goodbye        ?Help
  1577.      SELECT:
  1578.  
  1579.           Options available from Default Message Section include:
  1580.  
  1581.      R)ead messages -- Reads messages in the active message
  1582.         area, provided the user's access levels are adequate for
  1583.         the message area.
  1584.      E)nter message -- Allows you to enter a new message in the
  1585.         active area. If combined is selected, you will be prompted
  1586.         for an area.
  1587.      S)wiftscan -- Lists messages with From, To, Subject for the
  1588.         active area.  If selected from combined areas, the message
  1589.         board will also be displayed.
  1590.      P)revious Menu -- returns to the previous menu.
  1591.      G)oodbye -- logs off the user and terminates the program.
  1592.      ?)Help -- displays a sysop's help file related to this
  1593.         section. Files supplied with the SwiftBBS release may
  1594.         include this description as the help file.
  1595.  
  1596.  
  1597.  
  1598.                        ┌─────────────────┬──────┐
  1599.                        │    Bulletins    │  30  │
  1600.                        └─────────────────┴──────┘
  1601.  
  1602.           The bulletin option in SwiftBBS provides a simple to
  1603.      use way to navigate through a series of bulletin files.
  1604.      Bulletins are setup with a contents and individually numbered
  1605.      bulletins. The contents should list and describe each of
  1606.      the bulletin files.
  1607.  
  1608.           When the bulletin prompt is displayed, the user must
  1609.      enter a bulletin number in order to view the bulletin.  If
  1610.      page-pausing is enabled, display will pause at the end of
  1611.      each screen and query for More.  At the end of the file,
  1612.      the prompt will be redisplayed.
  1613.  
  1614.           Bulletin options are not hotkeys.  You will have to
  1615.      press enter after entering your choice.  When a number or
  1616.      character is entered, SwiftBBS looks for and displays the
  1617.      associated bulletin.
  1618.  
  1619.           Following display of any numbered bulletin, <Enter> or
  1620.      'N' will increment the bulletin number, search for and
  1621.      display that bulletin.  Selecting 'B' will decrement (go
  1622.      Back) the bulletin number, and selecting 'A' will redisplay
  1623.      the current bulletin.
  1624.  
  1625.           Selecting 'S' (for stop) or 'Q' (for quit) will exit the
  1626.      bulletin number.  Selecting 'L' will redisplay the bulletin
  1627.      list.  When the bulletin contents (list) is displayed,
  1628.      <enter> will exit the bulletins option.
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.                        ┌─────────────────┬──────┐
  1637.                        │    Messaging    │  31  │
  1638.                        └─────────────────┴──────┘
  1639.  
  1640.           Messaging is a term that refers simply to reading and
  1641.      writing messages to other users. It's used in contrast
  1642.      to other common activities on Bulletin board systems,
  1643.      such as gaming, downloads, etc. Messaging is the major
  1644.      purpose of SwiftBBS, so it's important to understand it's
  1645.      applications.
  1646.  
  1647.           Most message areas or message boards fall into one of
  1648.      three categories, LOCAL, NET, or ECHO.  LOCAL mail is used
  1649.      when users leave messages to other users on the same Bulletin
  1650.      Board System.  Messages may be part of a topical conference,
  1651.      personal notes, and can be public or private.  With the
  1652.      advent of NETMAIL and ECHOMAIL and all of their advantages,
  1653.      LOCAL mail is usually limited to private notes.
  1654.  
  1655.           NET mail is a step up from LOCAL in that messages are
  1656.      directed from one user to another user, generally on another
  1657.      Bulletin Board System.  In order to facilitate the use and
  1658.      delivery of NET mail, the BBS must be a part of a Network,
  1659.      such as FidoNet, SigNet or BabyNet.  Because of the LD costs
  1660.      inherent in using NET mail, some systems limit users' access
  1661.      to NETMAIL.
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.                                  ┌──────┐
  1675.                                  │  32  │
  1676.                                  └──────┘
  1677.  
  1678.           When entering NET mail messages, you will
  1679.      need to know the net/node number as well as the individual's
  1680.      name.  In some cases, you may be able to send (File Attach)
  1681.      other files along with the message.
  1682.  
  1683.           ECHO mail makes up the bulk of messaging today.  ECHO
  1684.      mail (or ECHOMAIL, ECHOES) is the use of shared topical
  1685.      message conferences.  When a message is entered into an ECHO
  1686.      area, it is eventually distributed to all other boards
  1687.      carrying that particular topical conference.  Its use is
  1688.      monumental considering that messages can be distributed
  1689.      around the world in a day or two.  Likewise, its misuse can
  1690.      be devastating.
  1691.  
  1692.           Because of the possibility of misuse, many BBS systems
  1693.      will verify new users by voice phone or mail before granting
  1694.      access to echomail areas.
  1695.  
  1696.  
  1697.                           ┌──────────────────────┐
  1698.                           │  Electronic mailbox  │
  1699.                           └──────────────────────┘
  1700.  
  1701.           In one sense, your use of a SwiftBBS bulletin board
  1702.      gives you an electronic mailbox with an option that will
  1703.      check the messagebase and tell you of messages addressed to
  1704.      you.  These messages include only messages not previously
  1705.      read.  This option is available from the Message Area as
  1706.      C)heck Mailbox.  The sysop of the particular board may also
  1707.      configure the logon procedure to automatically notify you of
  1708.      unreceived messages.
  1709.  
  1710.         Checking for new mail addressed to you ...
  1711.         You have the following new mail waiting:
  1712.  
  1713.         Message Board     Message Numbers
  1714.         ----------------- ---------------------------
  1715.         (Unknown area)    5, 7
  1716.         DIARY             35
  1717.         (Unknown area)    73
  1718.  
  1719.         Read messages Now? (Y/n)
  1720.  
  1721.           Once you read a message addressed to you it is normally
  1722.      marked as "received".  System operators have the option to
  1723.      "un-receive" messages for reading later.  In order to re-read
  1724.      messages addressed to you in any area, you may select
  1725.      R)ead/S)elected/M)ine from the message area prompt.
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.                                  ┌──────┐
  1732.                                  │  33  │
  1733.                                  └──────┘
  1734.  
  1735.           Messages displayed in SwiftBBS will usually resemble
  1736.      the following sample with individual parts identified. All
  1737.      of the messages in a SwiftBBS messages area are kept in a
  1738.      single set of files, and numbered chronologically. The
  1739.      topical area they belong to is indexed. The message number
  1740.      refers to the global number, not the number of message in
  1741.      the particular area.
  1742.           Each message area is normally identified with a
  1743.      Topical message area 'title', as "Technical" below. In
  1744.      echomail transfers, the area may have an areatag, such as
  1745.      TECH.
  1746.           The message header shows the basic information about
  1747.      the message. Often, the header is scanned over until there
  1748.      is a message of interest.
  1749.           In order to facilitate comprehension of an outgoing
  1750.      conversation, it's traditional to quotes parts of a message
  1751.      to regain users' train of thought in the discussion.  The
  1752.      paragraph below noted as Quote is the current user's quote of
  1753.      the previous person's message.  Quoted lines are identified
  1754.      with a right angled bracket ( > ), often with the quoted
  1755.      person's initials preceding it.  Multiple arrows ( JF>>> )
  1756.      refer to quotes of quotes, etc.
  1757.           Often times, users may use abbreviations similar to CB
  1758.      slang. For example, OTOH is 'on the other hand', BTW is 'by
  1759.      the way', etc.
  1760.  
  1761.           Since messaging can often be too impersonal, some
  1762.      users may include such personal notes in parentheses, i.e.
  1763.      <grin>, <hint>, etc. Smiley faces (sideways) are also used
  1764.      for the same reason. Two of the most common faces looks
  1765.      like this. :-) :-(
  1766.  
  1767.  
  1768.  
  1769.                     ┌────────────────────┬──────┐
  1770.                     │ The Sample message │  34  │
  1771.                     └────────────────────┴──────┘
  1772.  
  1773.  
  1774.           ┌────────────────────────────────   Message number
  1775.           │       ┌────────────────────   Topical message area
  1776.           │       │
  1777.      Message #53 "Technical"      Read 5 times  ─────┐
  1778.      Date:  5/10/92 @ 10:56                          │    Message
  1779.      From: Mike Hubschman                            ├───  Header
  1780.      To:   Warren Zatwarniski                        │
  1781.      Subject: Re: Modem Oddities                ─────┘
  1782.      Next Reply Message is #306
  1783.  
  1784.      ^aPID SE 0.45i   ───────────────── kludges
  1785.       ┌──────────────────────────────── Initials of person quoted
  1786.       │
  1787.      WZ> Does anybody know what kinda speed is       ──┐
  1788.      WZ> capable out of a normal 2400 bps modem        ├─ Quote
  1789.      WZ> without MNP or bis ?????                    ──┘
  1790.  
  1791.      A good rule of thumb is divide the speed by     ──┐
  1792.      10.  a 2400 bps rate would get 240 cps at 100%    │
  1793.      efficiency.  Most get a little less, so 230 is    │
  1794.      a "normal" rate.  Ditto 9600 - 960 cps is         ├─ Reply
  1795.      optimum, normal is 940-950.  This is with         │
  1796.      Ymodem-g or Zmodem (moby) (Xmodem slows things    │
  1797.      down a lot)                                     ──┘
  1798.  
  1799.      WZ> I don't think that those MNP modems are
  1800.      WZ> much more than a normal one eh?  Mayb I can
  1801.      WZ> find a used one (cheap) kicking around
  1802.      WZ> someplace?..hint...hint..  :-)
  1803.                      │
  1804.                      └────────────────  Smiley face
  1805.      Unfortunatly, they really jack up the price with Mnp...
  1806.      Some add as much as 50% to the price...  ($89 for a
  1807.      2400, $129 with MNP...) Since 9600's can't work without
  1808.      some error correction, they only have one price range
  1809.      but add a lot for increased speed (14.4 or 16.8)
  1810.  
  1811.         ┌─────────────────────────────────────────────── Offline reader
  1812.       * OLX 2.2 * He's got a magnet! Everybody stand back!
  1813.      ---                                                 <──── Tearline
  1814.                  ┌────────────────────── Originating system
  1815.             ┌────────────┴──────────────┐     ┌──── Network address
  1816.       * Origin: SOX! BBS 821-3317 Hialeah, FL (1:135/71) ── Origin line
  1817.      SEEN-BY: 117/331 170/100 400 403 600 711   ───┐
  1818.      SEEN-BY: 170/800 382/1 383/300 387/823        ├─────── Seen-bys
  1819.      SEEN-BY: 388/1000 393/101 3801/6 8         ───┘
  1820.      ^aPATH: 135/71 135/41 13/13 396/1 3801/8   ─────────── Path line
  1821.                               (usually hidden)
  1822.      <+> Read Replies                           ───┐
  1823.      <A>gain, <N>ext, <B>ack, <S>top?              ├───── Prompt
  1824.                             ───┘
  1825.  
  1826.                                  ┌──────┐
  1827.                                  │  35  │
  1828.                                  └──────┘
  1829.  
  1830.           As a means of identifying the technical nature of
  1831.      particular messages, several fields are included at the end
  1832.      of each message.
  1833.  
  1834.           The Tearline (three dashes) indicates the end of the
  1835.      message text, and may also show the name of the program used
  1836.      to edit or pack the message.  The Origin Line is needed to
  1837.      identify the source of the message.
  1838.  
  1839.           Seen-bys and Paths are used to monitor the messages
  1840.      travel through the network, and may be used to detect or
  1841.      prevent duplicate messages in the message base.
  1842.  
  1843.  
  1844.  
  1845.                     ┌────────────────────┬──────┐
  1846.                     │  Reading messages  │  36  │
  1847.                     └────────────────────┴──────┘
  1848.  
  1849.      Reading messages
  1850.           Most message conferences deal with a particular topic
  1851.      and may include discussion of several subjects related to the
  1852.      topic.  Consequently, most messages in topical conferences
  1853.      can also be read and responded to, even if they aren't
  1854.      addressed to you.
  1855.  
  1856.           Messaging prompts are provided with Read and Swifscan
  1857.      options to allow you to select specifics.  Explaining the
  1858.      options available is probably more difficult to explain than
  1859.      to actually use.  Most users will learn to use these options
  1860.      intuitively.  The initial prompt is:
  1861.  
  1862.        N)ew Messages, F)orward,    R)everse
  1863.        S)elected,     I)ndividual, Q)uit,    ?)Help
  1864.  
  1865.        Option:
  1866.  
  1867.           Subsequent prompts will depend on the option selected.
  1868.      When selecting Forward or Reverse, you will be supplied with
  1869.      information about the message base and the messages within
  1870.      the selected area, and then queried on the message number to
  1871.      start with.  In all cases, you can select to pause after each
  1872.      message or not.
  1873.  
  1874.        Active Message Board: "Combined messages
  1875.        System has messages numbered 1 to 14.
  1876.        Enter number to start at, [Enter]=First:
  1877.        Pause after each message? (Y/n)
  1878.  
  1879.           Selecting New messages will start in forward order
  1880.      following the last message you read the previous time you
  1881.      logged in.  SwiftBBS maintains this information even when
  1882.      messages are renumbered.  SwiftBBS doesn't update the "last
  1883.      message read" pointers until you logoff, and only uses the
  1884.      last message number in "Forward" order.
  1885.  
  1886.           When reading I)ndividual messages, SwiftBBS will prompt
  1887.      for a message number and display the message at or following
  1888.      the number entered.
  1889.           Selecting ?)Help attempts to find and display a
  1890.      customized file describing the entries.
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.                                  ┌──────┐
  1903.                                  │  37  │
  1904.                                  └──────┘
  1905.  
  1906.           During messaging reading, you may also have additional
  1907.      options to enable you to back up, or follow threads.
  1908.      Following each message, you can select from a submenu
  1909.      resembling this:
  1910.  
  1911.         <-> Read Previous Replies, <+> Read Replies
  1912.         <A>gain, <N>ext, <B>ack, <*>non-stop, <R>eply, <S>top?
  1913.  
  1914.           In simulating QuickBBS operation, the <N>ext option will
  1915.      go to the following message if you are reading Forward, or
  1916.      the subsequent message if you are reading Reverse.  The
  1917.      <B>ack option has the reverse effect.
  1918.  
  1919.  
  1920.  
  1921.                     ┌────────────────────┬──────┐
  1922.                     │  Selected reading  │  38  │
  1923.                     └────────────────────┴──────┘
  1924.  
  1925.  
  1926.           The option to read S)elected messages will prompt you
  1927.      for F)rom, T)o, S)ubject, M)ine, and further give you an
  1928.      option to select the starting number.  The S)ubject option
  1929.      will search the subject line for any occurences of the
  1930.      pattern you specify in the subject line.
  1931.  
  1932.  
  1933.  
  1934.  
  1935.  
  1936.  
  1937.  
  1938.  
  1939.  
  1940.                      ┌───────────────────────┬──────┐
  1941.                      │  Replies to messages  │  39  │
  1942.                      └───────────────────────┴──────┘
  1943.  
  1944.  
  1945.           When replying to messages in topical conferences,
  1946.      messages should be relative to the discussion and the subject
  1947.      of the message area, or conference, and normally on the same
  1948.      subject of the individual message you are responding to.
  1949.  
  1950.           The <R>eply option will quote the message you are
  1951.      replying to and execute the proper message editor.  Using the
  1952.      message editors is covered in the next section.
  1953.  
  1954.           Reply reading options (- or +) displayed will depend on
  1955.      the links the message actually has with previous/following
  1956.      messages.  These are also known as "threads".  The submenu
  1957.      during reply reading will also conform to the option you've
  1958.      selected and return you to the current message following the
  1959.      last message in the option.  Additionally, you can switch
  1960.      directions when reading a thread.  When reading previous
  1961.      replies, you may be able to read following replies by
  1962.      selecting the proper option.
  1963.  
  1964.           Some message areas may require higher access privileges
  1965.      in order to read, enter or reply to messages in them.  In
  1966.      these cases, a message will be displayed to that effect.
  1967.      Some of these areas may be restricted to verified users,
  1968.      members of an organization, or System Operators.
  1969.  
  1970.           If your access is suitable for message entry in a
  1971.      particular area, you may want to add a message in response to
  1972.      one you are reading.  You can either enter a new message or
  1973.      reply to the existing message.  By replying to messages, your
  1974.      message is added to the message-chain or thread.  That allows
  1975.      other users to follow the subject of the message and view
  1976.      previous or subsequent replies.
  1977.  
  1978.           When replying to messages, you will be prompted:
  1979.      Quote Reply Text? (Y/n)
  1980.      Replying to
  1981.      F) Dana Bell
  1982.      T) All
  1983.      S)omebody else
  1984.      C)ancel
  1985.      (F/t/s/c)?
  1986.      Change the subject: Testing   (y/N)?
  1987.  
  1988.           When replying to a message it's often helpful to be able
  1989.      to view and/or quote parts of the message you are replying
  1990.      to.  This also helps other readers follow the train of
  1991.      thought without restating the subject of the message again.
  1992.      If you are using a supporting message editor, quoting reply
  1993.      text will enable you to do that.
  1994.  
  1995.  
  1996.  
  1997.                                  ┌──────┐
  1998.                                  │  40  │
  1999.                                  └──────┘
  2000.  
  2001.  
  2002.           When quoting reply text, the current message is saved
  2003.      with each line preceded by the configured quoting string.
  2004.      This will normally be the original authors initials.  This
  2005.      text is presently only accessible from an external editor.
  2006.      The addressing of your reply message can be directed to the
  2007.      original author, recipient, or to any other person.  When
  2008.      selecting S)omebody else, you will be prompted for a new
  2009.      name.
  2010.  
  2011.           You may also select to change the subject, in order to
  2012.      enter a more appropriate or meaningful description to the
  2013.      subject line.  Your reply will still initially be linked to
  2014.      the message you are replying to, but will eventually be
  2015.      "pruned" from the original thread when messages are
  2016.      re-linked.
  2017.  
  2018.           Replies to Netmail messages also allow you to change
  2019.      the destination address.
  2020.  
  2021.  
  2022.  
  2023.                             ┌────────────────┐
  2024.                             │  New messages  │
  2025.                             └────────────────┘
  2026.  
  2027.           When selecting to enter a NEW message in a LOCAL or
  2028.      individual ECHO, you will be prompted for To: and Subject:
  2029.      lines.  At either prompt you can abort the message by not
  2030.      entering anything and pressing enter.
  2031.  
  2032.           When entering messages from the combined board area you
  2033.      will also be prompted for a message area.  Enter the
  2034.      appropriate number from the Area list.
  2035.  
  2036.           When entering messages from a NETMAIL area, you will
  2037.      also be prompted for a net/node number.  Enter the
  2038.      appropriate net/node number in the format NNN/NNN.  The
  2039.      net/node number is used as a reference to the system's name,
  2040.      location and phone number in the nodelist.
  2041.  
  2042.           If QNL*.* nodelist files are found, the selected network
  2043.      board's name, location, baud rate, and cost will be
  2044.      displayed.  For network routing of messages the net/node
  2045.      number is also used to send to a centralized system for
  2046.      distribution.
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.                                  ┌──────┐
  2055.                                  │  41  │
  2056.                                  └──────┘
  2057.  
  2058.      Currently searching in Zone 1, Net/Group 3801 ...
  2059.      Enter 'L' to List Nodes, 'C' to Change Net/Group,
  2060.      or 'Z' to change Zone. <Enter> quits
  2061.      Enter net/node address => 3801/8
  2062.  
  2063.      Searching nodelist index, please wait . . .
  2064.  
  2065.       3801/8  Baby Blue      Tyler TX
  2066.          1-903-581-6077   baudrate: 2400,   cost:     0
  2067.  
  2068.      Is this destination correct [Y/n]?
  2069.      Attach files to message? (Y/n) N
  2070.       formatting ... (1:3801/8.0)
  2071.      To: ........
  2072.  
  2073.  
  2074.           Entering 'C' will allow you to change the currently
  2075.      selected Net or Group.  Entering 'L' from the net/node prompt
  2076.      will display a list of the boards in the currently selected
  2077.      Net or Group.  Entering 'Z' will allow you to change the
  2078.      currently selected zone.  SwiftBBS defaults to the systems
  2079.      own Zone and Net.
  2080.  
  2081.  
  2082.      Currently searching in Zone 1, Net/Group 3801 ...
  2083.      Enter 'L' to List Nodes, 'C' to Change Net/Group,
  2084.      or 'Z' to change Zone. <Enter> quits
  2085.      Enter net/node address => C
  2086.  
  2087.      Change to what Net or Group: 1
  2088.  
  2089.      Currently searching in Zone 1, Net/Group 1 ...
  2090.      Enter 'L' to List Nodes, 'C' to Change Net/Group,
  2091.      or 'Z' to change Zone. <Enter> quits
  2092.      Enter net/node address => L
  2093.  
  2094.       1/1  FidoNews  FidoNews Editor
  2095.          1-415-863-2739   baudrate: 2400,   cost:    22
  2096.  
  2097.       1/2  Europe Gate       Portland OR
  2098.          1-503-297-9145   baudrate: 2400,   cost:    22
  2099.  
  2100.       1/3  Oceania Gate      Portland OR
  2101.          1-503-297-9145   baudrate: 2400,   cost:    22
  2102.  
  2103.  
  2104.  
  2105.      The node search/selection interface above is also used in
  2106.      the File Request function.
  2107.  
  2108.  
  2109.  
  2110.  
  2111.                     ┌────────────────────┬──────┐
  2112.                     │   Message editors  │  42  │
  2113.                     └────────────────────┴──────┘
  2114.  
  2115.           Messages can be entered on-line with either the internal
  2116.      editor or an external editor such as QuickEd.  The use of an
  2117.      external message editor is primarily for color/graphics
  2118.      display (ANSI) users.  External editors are written by other
  2119.      authors and will usually differ in the way they operate, so
  2120.      they must provide their own documentation and/or on-line help
  2121.      information. The interface used by SwiftBBS is described in
  2122.      the appendices.
  2123.  
  2124.           For non-ANSI users and when the individual system
  2125.      doesn't provide an external editor, SwiftBBS provides a
  2126.      limited internal editor.  If it's not possible to load the
  2127.      external editor for some reason, SwiftBBS will also fall-back
  2128.      to the internal editor.  The following discussion covers only
  2129.      the SwiftBBS internal editor.  The current version of
  2130.      SwiftBBS may vary and all options displayed in the prompts
  2131.      may not be active in this version. Message quoting is not
  2132.      possible with the internal editor.
  2133.  
  2134.           The internal editor begins by displaying the message
  2135.      entry screen as below.  To enter a message, simply begin
  2136.      typing.
  2137.  
  2138.  
  2139.         Enter message text now (66 lines max/72 chars per line).
  2140.         Words will wrap automatically.  Blank line to edit/save.
  2141.            [-----------------------------------------------------]
  2142.         01: Note to check the internal editor, and illustrate
  2143.         02: prompts provided. A blank or space is required to
  2144.         03: insert a blank line.
  2145.  
  2146.  
  2147.           If you need to access one of the editing options,
  2148.      press enter on a blank line, and make a selection from the
  2149.      following menu.  In order to enter a blank line
  2150.      in the message itself, you will need to enter a space or tab.
  2151.  
  2152.  
  2153.         S)ave Msg      Q)uit (Abort)  C)ontinue      L)ist Msg
  2154.         E)dit line     K)ill line     I)nsert line   ?)Help
  2155.         SELECT:  C
  2156.  
  2157.         Continue adding to message ...
  2158.            [-----------------------------------------------------]
  2159.         03: insert a blank line.
  2160.         04:
  2161.         05: Dana
  2162.         06:
  2163.  
  2164.         S)ave Msg      Q)uit (Abort)  C)ontinue      L)ist Msg
  2165.         E)dit line     K)ill line     I)nsert line   ?)Help
  2166.         SELECT:  S
  2167.  
  2168.                                  ┌──────┐
  2169.                                  │  43  │
  2170.                                  └──────┘
  2171.  
  2172.           The options include:
  2173.      S)ave Msg -- Saves the message, and adds it to the
  2174.         messagebase.
  2175.      Q)uit (Abort) -- Allows you to abort the message and return
  2176.         to the previous menu or option.
  2177.      C)ontinue -- Allows you to continue adding text to the
  2178.         message, after previously stopping.  The editor will
  2179.         display the last line entered and allow you to continue
  2180.         typing at the end of the line.
  2181.      L)ist Msg -- Lists the lines of the message entered so far.
  2182.         This allows you to review parts that may have scrolled
  2183.         off of the screen.
  2184.      E)dit -- Allows you to edit a single line in the message in
  2185.         the normal entry fashion.
  2186.      K)ill -- Allows you to delete one of the lines in the
  2187.         message. Following this option, message lines are
  2188.         renumbered.
  2189.      I)nsert -- Allows you to insert one or more lines in the
  2190.         message.
  2191.      ?)Help -- Displays the helpfile, EDITHELP.A??.
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.                        ┌─────────────────────┬──────┐
  2207.                        │  Keystroke summary  │  44  │
  2208.                        └─────────────────────┴──────┘
  2209.  
  2210.  
  2211.           In order to speed the user's navigation of the menus
  2212.      and options, SwiftBBS uses hotkeys. Options from menus can
  2213.      be executed with a single keystroke. Pressing <enter> is not
  2214.      required. Also, there are some hotkeys that are available
  2215.      during certain operations that will interrupt the current
  2216.      option.
  2217.           The hotkeys available in SwiftBBS will depend on the
  2218.      file and/or option selected. The following is a brief
  2219.      summary of the keys and their use.
  2220.  
  2221.  
  2222.      HOTKEYS
  2223.  
  2224.      Display files:
  2225.      Most display files can be paused by pressing <P>, and
  2226.      stopped by pressing <S>. If the display scrolls too fast,
  2227.      press <P> to pause it and any other key to continue. If the
  2228.      text being displayed doesn't interest you, press <S> to
  2229.      stop it and return to the previous menu or option.
  2230.  
  2231.      Menus:
  2232.      Options from a menu can be selected before the menu is fully
  2233.      displayed.  When a valid selection is made, the remainder of
  2234.      the menu display is aborted, and the selected action is
  2235.      taken.  The type 40 menu display attached to a menu will
  2236.      respond in the same way.
  2237.      Stop/Pause options are NOT valid during menu displays since
  2238.      menu options may be <S> or <P>.
  2239.  
  2240.      Messaging:
  2241.      When a Read option is selected, the subsequent prompts for
  2242.      reading are also hotkey options.  During message display, you
  2243.      can pause the display be selecting <P>, or interrupt the
  2244.      display by selecting one of the navigational options,
  2245.      <N>ext, <B>ack, <R>eply, <X>port, and <S>top.
  2246.      Similar options in message threading are also hotkeys.
  2247.  
  2248.  
  2249.      DEFAULTS
  2250.  
  2251.      In addition to hotkeys, SwiftBBS has several options that
  2252.      have recommended responses called defaults, built-in.  When
  2253.      an option has a common response, it's sometimes possible to
  2254.      press <enter> to select it as the default.  The default action
  2255.      is usually capitalized or otherwise indicated.
  2256.  
  2257.      Yes/no/Enter options:
  2258.      Options prompted with a <Y/n> or <y/N> query will accept an
  2259.      enter key to select the option with the capital letter.
  2260.  
  2261.  
  2262.  
  2263.                                  ┌──────┐
  2264.                                  │  45  │
  2265.                                  └──────┘
  2266.  
  2267.  
  2268.      The more prompt:
  2269.      The "More...  [Y/n]?  " also has a default.  When the display has
  2270.      reached the designated line number count and you have More
  2271.      enabled, SwiftBBS will query for a response and will accept
  2272.      enter for the default <Y>.
  2273.  
  2274.      Next:
  2275.      When presented with the <A>gain, <N>ext, ... option,
  2276.      pressing enter will select the <N>ext option.
  2277.  
  2278.      New:
  2279.      When presented with the <F>orward, <R>everse, <N>ew, ...
  2280.      option, pressing enter will select the <N>ew option.
  2281.  
  2282.      Message replies:
  2283.      Using similar defaults when pressing enter, replies to
  2284.      messages default to replying to who the message is from, No
  2285.      to changing the subject, and Yes to quoting reply text.
  2286.  
  2287.      Bulletins:
  2288.      The default option depends upon the last selection.  When a
  2289.      numbered bulletin has previously been selected, <Enter>
  2290.      increments the selection number.  When a non-numbered
  2291.      bulletin has previously been selected, <Enter> redisplays the
  2292.      bulletin main menu.  When the bulletin main menu is
  2293.      displayed, <Enter> exits.
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.                  ┌───────────────────────────────┐
  2302.       ┌──────────────────────┤  Logon (file displays). . 46  ├──────┐
  2303.       │   The Sysop's View   │  Bulletins  . . . . . . . 48  │  46  │
  2304.       └──────────────────────┤  Questionnaires . . . . . 49  ├──────┘
  2305.                  │  Sysop Messaging  . . . . 51  │
  2306.                  │  Textfile editor  . . . . 52  │
  2307.                  │  Alt-functions  . . . . . 53  │
  2308.                  └───────────────────────────────┘
  2309.  
  2310.  
  2311.           The following discussion is meant to be a supplement to
  2312.      the information given in the above "User's View" of
  2313.      SwiftBBS.  Some of this discussion will correspond with the
  2314.      above "User's View".  Becoming acquainted with SwiftBBS as a
  2315.      user is a beginning to understanding the sysop's control over
  2316.      user activity.
  2317.  
  2318.                             ┌────────────────┐
  2319.                             │     Logon      │
  2320.                             └────────────────┘
  2321.  
  2322.           Every user on your BBS is greeted with an identification
  2323.      note identifying SwiftBBS, your system name and sysop name as
  2324.      recorded in the CONFIG.BBS configuration file.  Following the
  2325.      system id, a sysop created file LOGO.ASC is displayed.
  2326.  
  2327.           The display files for SwiftBBS are contained in the path
  2328.      designated in the Textfile path option of the configuration.
  2329.      In most cases, there may be up to three varieties of the text
  2330.      file, depending on the display capabilities of the user.
  2331.      These differences are defined by the extension:
  2332.  
  2333.  
  2334.                DISPLAY FILE PRIORITIES
  2335.  
  2336.           Pure ASCII *.ASC files are displayed to users with no
  2337.      other color/graphic capabilities; *.ANS files are displayed
  2338.      to users with ANSI display capabilities; *.AVT files are
  2339.      displayed to user with AVATAR display capabilities.  The
  2340.      display capability search is processed from the highest
  2341.      (AVATAR) to the lowest (ASCII), depending on the user's
  2342.      capabilities and file availability.  It's up to the sysop to
  2343.      make sure text files meet the display capabilities.  ANSI
  2344.      files should not have AVATAR codes, and vice-versa.  ASCII
  2345.      files should not have any display control codes.
  2346.  
  2347.           Since a user's display is not known prior to getting
  2348.      Name and password, there is only one style of LOGO file,
  2349.      LOGO.ASC.  If the caller is a new user, the file
  2350.      NOTFOUND.ASC is displayed before asking if the name was
  2351.      entered correctly.  Subsequently, NEWUSER1.ASC is displayed
  2352.      and the system questionnaire is started. Prior to the query
  2353.      for the password, PASSWORD.A??, is displayed.
  2354.           Finally, the file NEWUSER2.A??  is displayed to
  2355.      complete the new user logon.
  2356.  
  2357.  
  2358.                                  ┌──────┐
  2359.                                  │  47  │
  2360.                                  └──────┘
  2361.  
  2362.  
  2363.           Following the caller's logon, the files WELCOME.A??,
  2364.      SEC##.ASC and NEWS.A??  are displayed.  The WELCOME.A??  is
  2365.      customarily a graphic display of some type.  The SEC##.A??
  2366.      file is displayed to users with the specified ## security
  2367.      level. If the user's security level is 2000, the file
  2368.      SEC2000.A?? is displayed.
  2369.  
  2370.           The sysop's menus and the user's selections will
  2371.      determine other files displayed.  One other standard display
  2372.      file is the logoff file, GOODBYE.A??  is displayed following
  2373.      the logoff command.  None of these files are required, and
  2374.      will be skipped (without warning) if not found.
  2375.  
  2376.           In addition to display codes, all three styles of
  2377.      textfiles may include SwiftBBS system and user control
  2378.      codes.  Unlike ANSI and AVATAR codes, these are interpreted
  2379.      internally and sent to the caller with the ASCII text for the
  2380.      coded information.  The SwiftBBS control codes are prefixed
  2381.      with Control-K and Control-F.  A list of these codes is found
  2382.      in the appendices.
  2383.  
  2384.           All new users must answer the configuration
  2385.      questionnaire before proceeding to the menus.  The
  2386.      configuration option for new user access level will determine
  2387.      the new users access at this point.  The other options are
  2388.      defined by the user's answers to these questions.  Most
  2389.      options include a (normally safe) default.
  2390.  
  2391.  
  2392.  
  2393.  
  2394.  
  2395.  
  2396.                         ┌────────────────┬──────┐
  2397.                         │   Bulletins    │  48  │
  2398.                         └────────────────┴──────┘
  2399.  
  2400.  
  2401.           Bulletins in SwiftBBS are simply display files with a
  2402.      common name.  Bulletins are kept in the TxtFile path and can
  2403.      be either of the supported display file formats (ASCII, ANSI,
  2404.      or AVATAR).  When the bulletin function is called, SwiftBBS
  2405.      matches the filename specified in the data (i.e.  ACCESS)
  2406.      with the user's highest acceptable display format, according to
  2407.      display file priorities.
  2408.  
  2409.           When found, it is displayed along with the operator
  2410.      specified prompt.  This file is normally the contents file
  2411.      displaying the numbers of other bulletins.  Additional files
  2412.      are created with the root name plus a number, i.e.  for '1',
  2413.      ACCESS1.A??.  When the user selects '1', SwiftBBS looks for
  2414.      the file that matches.
  2415.  
  2416.           In many cases, bulletins might be displayed during the
  2417.      logon procedure, possibly as a help guide to the system, it's
  2418.      rules, or important bits of information.
  2419.  
  2420.           A bulletin function is also built into opus-style menus
  2421.      with a base name of BULLET.  To use this feature, edit the
  2422.      files named BULLET.A??, BULLET?.A??, etc.
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.                     ┌────────────────────┬──────┐
  2435.                     │   Questionnaires   │  49  │
  2436.                     └────────────────────┴──────┘
  2437.  
  2438.  
  2439.           Questionnaires allow sysops to create a .Q-A command
  2440.      file of display, input, and output instructions to request
  2441.      additional information from users.  Questionnaires, answers,
  2442.      and custom data files are maintained in the default
  2443.      directory.  The output supported by the QuickBBS standard are
  2444.      text based .ASW answer files.  SwiftBBS questionnaires also
  2445.      support reading and/or writing of binary files, such as
  2446.      databases.
  2447.  
  2448.           The questionnaire option is a type 12 menu option, and
  2449.      uses the data specified as the base command file.  The
  2450.      appendices contain a list of valid questionnaire commands and
  2451.      syntax.
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469.  
  2470.  
  2471.  
  2472.                                  ┌──────┐
  2473.                                  │  50  │
  2474.                                  └──────┘
  2475.  
  2476.  
  2477.           Following logon, operation is defined by one of the
  2478.      menu routines.  SwiftBBS provides internal menus as described
  2479.      above, and new sysops are recommended to start with these.
  2480.      If no TOP.MNU is found in the menus path, SwiftBBS defaults
  2481.      to these menus.  Alternately, opus style menus can be
  2482.      selected by specifying -o on the command-line.  If some logon
  2483.      options are desired, sysops may also select standard menus
  2484.      as a SwiftBBS type.  More on custom menuing follows in the
  2485.      section on utilities.
  2486.  
  2487.           If the system operator chooses, access may be directed
  2488.      by a set of menus, in which case access begins with the menu
  2489.      TOP.MNU.  The program Swifcnfg contains a workable menu
  2490.      editor for designing these menus.  A discussion of menu
  2491.      editing follows in the discussion of supplemental programs.
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.                     ┌────────────────────┬──────┐
  2511.                     │  Sysop messaging   │  51  │
  2512.                     └────────────────────┴──────┘
  2513.  
  2514.  
  2515.           When the logged user (local or remote) has sysop access
  2516.      level, several additional messaging options are available,
  2517.      and are displayed on an additional display line similar to
  2518.      this:
  2519.  
  2520.     <!>Kludge, <=>Priv/Pub, <K>eep, <M>ove, <F>wd, <X>port, <D>elete?
  2521.  
  2522.           The <!>Kludge option: Some messages may have imbedded
  2523.      network control information it it. This is often
  2524.      prefixed with a Ctrl-A and hidden during displays. This
  2525.      option will redisplay the message showing these kludges.
  2526.           The <=>Priv/Pub option allows you to toggle the
  2527.      privileged status of individual messages.  While only the
  2528.      author and recipient can view privileged messages, all
  2529.      messages are viewable by the sysop.
  2530.           The <K>eep option allows the sysop to mark the message
  2531.      as un-received.  By doing this, the message will be displayed
  2532.      during the next check for mail.
  2533.           The <M>ove option allows the sysop to move individual
  2534.      messages to different message areas.  The option only displays
  2535.      "named" message areas, but it's possible to move a message to
  2536.      any area.
  2537.           The <F>wd option allows the sysop to Forward (by
  2538.      copying) a message to another user.  Forwarded messages are
  2539.      re-addressed to the person entered, and notation is added at
  2540.      the beginning of the message about the original message, such
  2541.      as:
  2542.         Original message dated: 1 Mar 91
  2543.         From: George Candy
  2544.         To: Pat Darlingen
  2545.         <text>
  2546.  
  2547.           The <X>port option will write the current message to a
  2548.      disk file.  SwiftBBS will prompt for a filename, and will
  2549.      accept device names as well, i.e.  PRN for the printer.  If
  2550.      the file selected exists, SwiftBBS will prompt,
  2551.  
  2552.         "FILENAME.EXT" exists, Append, Overwrite, Cancel:
  2553.  
  2554.           The <D>elete option toggle the message deleted status,
  2555.      and allows some programs to extract it during message
  2556.      packing.  If the message is deleted before being exported,
  2557.      SwiftBBS will also delete its entry in the respective export
  2558.      index (ECHOMAIL.BBS or NETMAIL.BBS), to prevent it from being
  2559.      sent.  Once deleted, the message will be redisplayed and will
  2560.      allow you to "undelete" it.
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.                      ┌───────────────────┬──────┐
  2568.                      │  Textfile editor  │  52  │
  2569.                      └───────────────────┴──────┘
  2570.  
  2571.           A new feature for sysops that may be useful for quick
  2572.      file editing is the type 70 textfile editor. The textfile
  2573.      editor calls the editor specified as the message editor
  2574.      with the filename in the data field as the first argument.
  2575.      The editor is called with the same interface as the message
  2576.      editor. You will need to make sure that your editor
  2577.      supports the initial filename (QUICKED doesn't).
  2578.  
  2579.           If the external editor isn't available or isn't being
  2580.      used, at your discretion, SwiftBBS can use the internal
  2581.      editor to create a NEW file with the filename specified.
  2582.      This might be useful in developing an installation script
  2583.      where several control files need to be created.  Currently,
  2584.      this feature only operates in local mode, and is
  2585.      essentially still in development.
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.  
  2601.  
  2602.  
  2603.  
  2604.  
  2605.                         ┌────────────────┬──────┐
  2606.                         │  Alt-functions │  53  │
  2607.                         └────────────────┴──────┘
  2608.  
  2609.           The local console provides access to several system
  2610.      functions.  With the .45i release a 4-page status bar has
  2611.      been implemented.  Among other things, the status bar will
  2612.      display a list of valid Alt-functions when you press <F1>.
  2613.           One of the most common Alt functions is the Alt-J shell
  2614.      (or jump) to DOS.  To return to SwiftBBS, you have to type
  2615.      "EXIT" at the DOS prompt.  When shelling to DOS, SwiftBBS
  2616.      saves it's logged drive and path, and when returning to
  2617.      SwiftBBS, the path is restored to what it was before the
  2618.      "jump".
  2619.  
  2620.      The Alt functions in this release include:
  2621.  
  2622.           Alt-A = Displays local information 'A'bout the current
  2623.      user, including name, page status and comment.
  2624.  
  2625.           Alt-C = Chat mode. ESC returns to normal operation.
  2626.  
  2627.           Alt-D = Toggles the local display when a user is
  2628.      on-line.
  2629.  
  2630.           Alt-E = Provides a local Setup option menu for quick
  2631.      changes in the user's configuration.  'Q'uit returns to
  2632.      normal operation.
  2633.  
  2634.           Alt-F = Provides for editing the flags of the current
  2635.      user on line.
  2636.  
  2637.           Alt-J = Jumps to DOS.
  2638.  
  2639.           Alt-M = (during message reading) changes the current
  2640.      message's attribute bits.
  2641.  
  2642.           Alt-S = displays and allows the sysop to change the
  2643.      current user's security level.
  2644.  
  2645.           Alt-T = toggles the trace feature.  Tracing is a
  2646.      debugging tool used by the author, and may not be included in
  2647.      future non-beta releases.
  2648.  
  2649.           Alt-V = toggles AVATAR support.
  2650.  
  2651.           Alt-X (or Shift-F1) = prompts and exits SwiftBBS
  2652.      without writing exit files.
  2653.  
  2654.           Up/Dn = To increase/decrease the on-line users time.
  2655.  
  2656.           PgUp/PgDn = page through the status bar 'pages'.
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.                  ┌───────────────────────────────┐
  2663.       ┌──────────────────────┤ Custom menus . . . . . . . 55 ├──────┐
  2664.       │   Advanced SwiftBBS  │ User Maintenance . . . . . 60 │  54  │
  2665.       └──────────────────────┤ File Displays  . . . . . . 62 ├──────┘
  2666.                  │ Bulletins (with Msgtxt)  . 63 │
  2667.                  │ Questionnaires(programming)64 │
  2668.                  └───────────────────────────────┘
  2669.  
  2670.  
  2671.           The following advanced options in SwiftBBS are provided
  2672.      to allow system operators of Bulletin board systems to
  2673.      customize their logon displays, questionnaires, and menus and
  2674.      to maintain the user file for a BBS system. Point operators
  2675.      may want to use custom menus, and develop database forms
  2676.      for personal use.
  2677.  
  2678.  
  2679.  
  2680.  
  2681.                     ┌────────────────────┬──────┐
  2682.                     │    Custom menus    │  55  │
  2683.                     └────────────────────┴──────┘
  2684.  
  2685.           The ability to create custom menus and navigate from one
  2686.      to the other was one of the nice things about QuickBBS and
  2687.      other BBS programs.  It was also a bother sometimes, since it
  2688.      was a requirement to get them operational.  SwiftBBS supports
  2689.      QuickBBS-style menus, but the inclusion of standard (opus)
  2690.      style menus is one of the nice things about SwiftBBS.  It is
  2691.      also possible in some cases, to mix the two styles, that is,
  2692.      you can convert to standard menus from a custom menu option
  2693.      and back.
  2694.  
  2695.           Instead of creating a separate program for MENU editing,
  2696.      this function has been incorporated into the SWIFCNFG
  2697.      program.  Menus for SwiftBBS can also be created with an
  2698.      outside utility such as MenuMaster or QuickBBS' MENUEDIT.
  2699.  
  2700.           Current menu options in SWIFCNFG's MENU editor will
  2701.      allow copying, deleting, renaming and editing of SwiftBBS
  2702.      menus.  The main menu will resemble this display.
  2703.  
  2704.                     ╒═  menu options ═╕
  2705.                     │Copy menu        │▒
  2706.                     │Delete menu      │▒
  2707.                     │Edit/create menu │▒
  2708.                     │Rename menu      │▒
  2709.                     │Quit menuing     │▒
  2710.                     └─────────────────┘▒
  2711.                      ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2712.  
  2713.  
  2714.  
  2715.           Additional dialog like boxes and lists may be displayed
  2716.      depending on the options selected.  The following shows a
  2717.      display of a menu copy routine.  When asked for an initial
  2718.      filename you can press enter and select the menu from a
  2719.      listing of menus.
  2720.  
  2721.                     ╒═  menu options ═╕
  2722.                     │Copy menu        │▒
  2723.                     │Delete menu      │▒  ╒═ D:\C\*.MNU═╕
  2724.                     │Edit/create menu │▒  │_MAIL.MNU    │▒
  2725.                     │Rename menu      │▒  │A_CAD.MNU    │▒
  2726.                     │Quit menuing     │▒  │ABLED.MNU    │▒
  2727.                     └─────────────────┘▒  │AUTOCAD.MNU  │▒
  2728.                      ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒  │COPIED.MNU   │▒
  2729.      Enter name to copy from: {enter for list}        │FOUR.MNU     │▒
  2730.        AUTOCAD.MNU                                    │TOP.MNU      │▒
  2731.      Enter name to copy to:                           └─────────────┘▒
  2732.        NEWCAD░░                                        ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2733.  
  2734.  
  2735.  
  2736.  
  2737.  
  2738.                                  ┌──────┐
  2739.                                  │  56  │
  2740.                                  └──────┘
  2741.  
  2742.  
  2743.           The menu editing option allow you to create and edit
  2744.      your menus.  The menuline display at the top show the current
  2745.      record.  The first menuline is used for the prompt.  You can
  2746.      page up/page down through the lines of the menu.  Pressing
  2747.      the ESCape keys displays a sub-menu of edit options as
  2748.      illustrated below.  Be sure to save the menu before exiting.
  2749.  
  2750.  
  2751.                            Record number to edit:  3░
  2752.      Menu: AUTOCAD.MNU                 Menuline: 3
  2753.      Display:
  2754.       < R > Read Messages   ;░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  2755.      Selection Key:  R  Menu Type: 23   Foreground: 14  Background: 0
  2756.      Security Level: 1
  2757.      Flags  A: [-----X--]  B: [-----X--]  C: [-----X--]  D: [-----X--]
  2758.      Data:
  2759.       73
  2760.      ─────────────────────────────────────────────────────────────────
  2761.                               ╒═  edit options ═╕
  2762.      1:              > > AutoCAD discussions < <  │Add a record     │▒
  2763.      2:                                           │Delete record    │▒
  2764.      3: < R > Read Messages   4: 5: < - > Previous│Erase record     │▒
  2765.      6: < S > Scan Messages   7: 8: < * > Top Menu│Go to a record   │▒
  2766.      9: < P > Post a message  10: 11: < = > Logoff│Insert a record  │▒
  2767.                               │Move records     │▒
  2768.      your choice:                                 │Quit menu editing│▒
  2769.                               │Return to browse │▒
  2770.                               │Save menu        │▒
  2771.                               │View menu        │▒
  2772.                               └─────────────────┘▒
  2773.                                ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2774.  
  2775.  
  2776.           When entering the Display line, the highlight can be
  2777.      toggled with a '^'.  If the prompt has a highlight specified,
  2778.      that will be the highlighted color, otherwise, the bright
  2779.      intensity of the selected menu line will be used.  This is
  2780.      customarily used to indicate the key to be used when
  2781.      selecting the option, i.e.
  2782.  
  2783.      Display :
  2784.         ^R^)ead messages   ;░░░░░░░░░░░░░░░░░░░░░░░░░░
  2785.  
  2786.  
  2787.  
  2788.  
  2789.  
  2790.  
  2791.  
  2792.  
  2793.  
  2794.  
  2795.                                  ┌──────┐
  2796.                                  │  57  │
  2797.                                  └──────┘
  2798.  
  2799.  
  2800.           When entering the Menu Type, you can also press <F1> and
  2801.      select from a listing of menu types available at this
  2802.      release.  Many of the supported types are displayed.  The
  2803.      listing will temporarily over-write the menu display, and
  2804.      when an entry is selected, it's number will be inserted in
  2805.      the Menu Type display.  Escape will abort as expected.  The
  2806.      screen will resemble the following:
  2807.  
  2808.  
  2809.      Menu: AUTOCAD.MNU                 Menuline: 3
  2810.      Display:
  2811.       < R > Read Messages   ;
  2812.      Selection Key:  R  Menu Type: 23   Foreground: 14  Background: 0
  2813.      Security Level: 1
  2814.      Flags  A: [-----X--]  B: [-----X--]  C: [-----X--]  D: [-----X--]
  2815.      Data:
  2816.       73
  2817.      ─────────────────────────────────────────────────────────────────
  2818.          ╒ No.    Description of SwiftBBS types           Options   ═╕
  2819.      1:  │ 0 ... Text Line (Not Considered a Command) .. None        │▒
  2820.      2:  │ 1 ... Goto New Menu ......................... <Menu Name> │▒
  2821.      3: <│ 2 ... Gosub New Menu ........................ <Menu Name> │▒
  2822.      6: <│ 3 ... Return from Previous Gosub ............ None        │▒
  2823.      9: <│ 4 ... Clear Gosub Stack and Goto New Menu ... <Menu Name> │▒
  2824.          │ 5 ... Display .ASC/.ANS File ................ <1-8 Charac │▒
  2825.      your│ 6 ... Selection Menu  ....................... <1-7 Charac │▒
  2826.          │ 7 ... Shell Under Board and Run Program ..                │▒
  2827.          │ 8 ... Version Information ................... None        │▒
  2828.          │ 9 ... Logoff the System ..................... None        │▒
  2829.          │10 ... Display System Usage Graph ............ None        │▒
  2830.          │11 ... Page the Sysop for Chat ............... Page Prompt │▒
  2831.          └───────────────────────────────────────────────────────────┘▒
  2832.           ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2833.  
  2834.           The appendices contain a list of the menu types
  2835.      supported by SwiftBBS.
  2836.  
  2837.      SwiftBBS supports the "autoexec" menu option.  In order
  2838.      to force an option to be executed when a menu is loaded,
  2839.      enter a Control-A in the Selection Key field.  This may be
  2840.      handy to run a set of options in the TOP menu before
  2841.      transfering control to a "user" menu, or to display a file
  2842.      as the menu display using type 40 options.
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.                     ┌────────────────────┬──────┐
  2853.                     │    Menu planning   │  58  │
  2854.                     └────────────────────┴──────┘
  2855.  
  2856.  
  2857.           The use of custom menus requires some careful planning
  2858.      to insure the user (or yourself) has access to the functions
  2859.      you want to provide, and will have a way from one menu to
  2860.      another, and back.  Your menu structure will also be best
  2861.      understood if you have similar options in each area.
  2862.  
  2863.           One of the easiest custom menu systems would probably
  2864.      include the opus-style options, and particularly the defined
  2865.      message area type 88.  This type provides the user with
  2866.      read/write/scan options for the specified area, as well as
  2867.      return to previous menu, top menu and logoff. It is
  2868.      possible to have a single menu with these options.
  2869.  
  2870.           Custom menus can also be implemented as options from
  2871.      opus-style menus.  The Main Menu option Quickmenus calls the
  2872.      customized top menu (defaults to "TOP.MNU") and the option
  2873.      for Custom calls the custom menu "CUSTOM.MNU".  When
  2874.      designing these menus as options, be sure to provide a return
  2875.      to opus-style menus with a type 91, if desired.  An alternate
  2876.      top menu can also be specified on the command line as -mMENU.
  2877.  
  2878.           Yet another way to setup the system, might be to use
  2879.      TOP.MNU as an autoexec type menu (all options Ctrl-A) and a
  2880.      call to opus-style menus.
  2881.  
  2882.           One way to look at menus is as a tree.  The structure of
  2883.      the menu tree should be so designed to provide a minimum
  2884.      number of levels, or branches.  With each branch, individual
  2885.      options should be related.  For example, TOP.MNU may have an
  2886.      option to call PROG.MNU; PROG.MNU may have option to call
  2887.      menus for any of several programming areas each with an
  2888.      option to read, scan and enter messages, and possibly
  2889.      bulletins in the area.
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.  
  2908.  
  2909.                                  ┌──────┐
  2910.                                  │  59  │
  2911.                                  └──────┘
  2912.  
  2913.  
  2914.  
  2915.  
  2916.  
  2917.  
  2918.  
  2919.  
  2920.  
  2921.  
  2922.  
  2923.  
  2924.  
  2925.  
  2926.  
  2927.  
  2928.                     ┌────────────────────┬──────┐
  2929.                     │  User maintenance  │  60  │
  2930.                     └────────────────────┴──────┘
  2931.  
  2932.  
  2933.           User information is contained in the file USERS.BBS.
  2934.      This file is created and edited by the program Swifcnfg, and
  2935.      new users are added to this file following their first logon.
  2936.  
  2937.           USERS.BBS contains most of the configuration information
  2938.      requested from the user, options set by the user in the Setup
  2939.      options, and defaults set in other areas of SWIFCNFG.  User
  2940.      information not included here (lastread pointers for each
  2941.      area, combined settings) are indexed in this file.  Related
  2942.      control files are determine other items in a user's
  2943.      configuration or active logon.
  2944.  
  2945.           As a part of the logon process, SwiftBBS uses the user's
  2946.      access level, and looks in the file LIMITS.CTL, to assign the
  2947.      user the amount of time specified for that security level.
  2948.      The LIMITS.CTL file has the format: <security level> <time
  2949.      allowed> If the file or the individual user's security level
  2950.      is not found, the default is 60 minutes.
  2951.  
  2952.           The User editor option in Swifcnfg allows you to edit
  2953.      the basic fields of existing users.  The editor is
  2954.      self-packing and self-sorting.  When a user is deleted, his
  2955.      entry is not saved when exiting Swifcnfg.
  2956.  
  2957.           The following display illustrates the User Editor screen
  2958.      with the user options menu displayed.  Currently, the Sort
  2959.      option sorts by First name only.
  2960.  
  2961.  
  2962.                         User number to edit:  9░░
  2963.           SwiftBBS Utilities  -  User Editor
  2964.      User number    2 of    12
  2965.      Name:  Henry Bell                     Password:  scramble
  2966.      City:  ░░░░░░░░░░░░░░░░░░░░░░░░░               ╒═ user options═╕
  2967.      Voice phone:  444-444-4444                     │Add User       │▒
  2968.      Security level: 100                            │Deletion       │▒
  2969.      Flags  A: [--------]  B: [--------]  C: [------│Clear User     │▒
  2970.      Ansi codes: N           Avatar codes: N     Ful│Goto User      │▒
  2971.      More... N               Screen length: 0       │List Users     │▒
  2972.      High Message Read: 2486                        │Sort Users     │▒
  2973.                             │Quit           │▒
  2974.                             └───────────────┘▒
  2975.                              ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2976.  
  2977.           When selecting to Goto a User, a scrollable list of
  2978.      users will be displayed.  Using the cursor keys you can
  2979.      select the user you want to edit.  The following is a basic
  2980.      display of what would appear in this case.
  2981.  
  2982.  
  2983.  
  2984.  
  2985.                                  ┌──────┐
  2986.                                  │  61  │
  2987.                                  └──────┘
  2988.  
  2989.           SwiftBBS Utilities  -  User Editor
  2990.      User number    2 of    12
  2991.      Name:  Henry Bell                     Password:  scramble
  2992.      City:  ░░░░░░░░░░░░░░░░░░░░░░░░░                ╒═ user options═╕
  2993.      Voice phone:  444-444-4444            ╒════ user selection════╕ │▒
  2994.      Security level: 100                   │Dana Bell              │▒│▒
  2995.      Flags  A: [--------]  B: [--------]  C│David Dunn             │▒│▒
  2996.      Ansi codes: N           Avatar codes: │Danny Boy              │▒│▒
  2997.      More... N               Screen length:│Danny Michaels         │▒│▒
  2998.      High Message Read: 2486               │Dave Cohen             │▒│▒
  2999.                            │David Kissinger        │▒│▒
  3000.                            │David Eliag            │▒┘▒
  3001.                            │David Jude             │▒▒▒
  3002.                            │David Davidson         │▒
  3003.                            └───────────────────────┘▒
  3004.                         ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  3005.  
  3006.  
  3007.  
  3008.  
  3009.  
  3010.  
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.  
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.                                  ┌──────┐
  3024.                                  │  62  │
  3025.                                  └──────┘
  3026.  
  3027.  
  3028.           The USERS.BBS file is actually optional with SwiftBBS
  3029.      and will default to ANSI, CLS, & More options.  While
  3030.      USERS.BBS is optional, there are good reasons to keep one.
  3031.      If you operate as a single user on a point system, you may
  3032.      want to have a user file so that SwiftBBS can update &
  3033.      maintain lastread pointers, use it for customized displays
  3034.      options, or to provide some security.
  3035.  
  3036.           If operating as a single user on a point, the -#
  3037.      option will allow you to make quick logons without giving
  3038.      up on lastread information.
  3039.  
  3040.  
  3041.                            ┌────────────────┐
  3042.                            │  File displays │
  3043.                            └────────────────┘
  3044.  
  3045.           Several files are displayed by default at various
  3046.      points in the execution of the program. In order to create
  3047.      these files, you will need to use your own text editor. A
  3048.      listing of files displayed is contained and described in
  3049.      the appendices.
  3050.  
  3051.  
  3052.  
  3053.  
  3054.  
  3055.  
  3056.  
  3057.  
  3058.  
  3059.  
  3060.  
  3061.                     ┌────────────────────┬──────┐
  3062.                     │  Bulletin creation │  63  │
  3063.                     └────────────────────┴──────┘
  3064.  
  3065.  
  3066.           Bulletins in SwiftBBS are contained in file sets with
  3067.      a common base name. The base name itself is commonly the
  3068.      menu file. Subsequent files have a number appended that
  3069.      corresponds to the "menu option" selected. In order to
  3070.      provide rapid navigation through bulletins without hotkeys,
  3071.      options are included to allow redisplay of the same file,
  3072.      incrementing the file number and display of the next or
  3073.      last file, etc.
  3074.  
  3075.           In SwiftBBS opus style menus, BULLET is the default
  3076.      bulletin base name, thus the files would be named,
  3077.      BULLET.???, BULLET1.???, BULLET2.???, etc.
  3078.  
  3079.           Also useful as an aid to development of bulletin files
  3080.      are some options of MSGTXT, that will convert a long text
  3081.      file into several bulletin files.  See the utilities section
  3082.      for detailed documentation of MSGTXT.  The format for the
  3083.      bulletin feature is
  3084.  
  3085.       MSGTXT -b<bulletin> -m<messagefile> -[options]
  3086.          -b = Board Number or bulletin basename;
  3087.          -m = Message file;
  3088.          -l = maximum lines per message;
  3089.          -p = page number to start numbering;
  3090.          -c = character number to break pages at;
  3091.          -i = ignore page breaks;
  3092.  
  3093.            For bulletins, MSGTXT requires you to specify a
  3094.       non-numberic bulletin base filename and a filename for the
  3095.       textfile being imported.
  3096.  
  3097.           The formatting of files into bulletins is controlled by
  3098.       the number of lines and location of formfeed or alternate
  3099.       page break characters.  When a page break character is
  3100.       found, a new bulletin is started.  A new bulletin is also
  3101.       started if MSGTXT encounters 49 linefeeds.  The linefeed
  3102.       count can be altered by the -l commandline switch.  To
  3103.       import messages controlled only be page break characters,
  3104.       you may be able to set the linefeed count above the expected
  3105.       linecount (i.e.  -l999) for any page.
  3106.  
  3107.            The -p page number can be used to identify each
  3108.       bulletin.  This is particularly useful if you want to create
  3109.       bulletins from a document with a table of contents, followed
  3110.       by numbered (& formfeed separated) pages.  For example, if
  3111.       MY.TXT has the contents as one page followed by numbered
  3112.       pages 1-5, you can create BULLET.ASC, BULLET1.ASC,,,
  3113.       BULLET5.ASC with the command:
  3114.              MSGTXT -mMY.TXT -bBULLET -p0
  3115.  
  3116.  
  3117.  
  3118.                   ┌──────────────────────────┬──────┐
  3119.                   │  Questionnaire programs  │  64  │
  3120.                   └──────────────────────────┴──────┘
  3121.  
  3122.           The 0.42c release introduces the first full set of
  3123.      questionnaire options.  The questionnaire is a type 12 menu
  3124.      option that operates similar to that in QuickBBS, with a few
  3125.      simplifications and a lot of additional features.
  3126.  
  3127.           A SwiftBBS questionnaire is specified by including the
  3128.      question file in the data area.  The questionnaire file is a
  3129.      plain ASCII text file ending with a .Q-A extension, and
  3130.      containing commands as specified in the command language.
  3131.      Answers can be output (appended) to an answer file with the
  3132.      .ASW extension, or added to a database using the binary file
  3133.      I/O options.
  3134.  
  3135.  
  3136.                 FORMAT
  3137.  
  3138.           All commands must appear on separate lines, though they
  3139.      may be indented with spaces.  The amount of space between
  3140.      parameters is also relatively insignificant.
  3141.  
  3142.          While it is being encouraged to maintain the
  3143.      capitalization of Keywords and variables, Keyword matching
  3144.      and variables are not case sensitive.  PostInfo and POSTINFO
  3145.      have the same effect with SwiftBBS.  Likewise, Var1, VAR1,
  3146.      and var1 will all refer to the same variable.
  3147.  
  3148.  
  3149.                 RESERVED WORDS
  3150.  
  3151.           Two types of reserved words are included.  Keywords are
  3152.      used to give commands to the program.  Other keywords are
  3153.      internal variables, that may be displayed or written to
  3154.      file.  You cannot change the values contained in these
  3155.      variables. Some of the most common ones are User, System,
  3156.      Security, Ansi, and NewLine.
  3157.  
  3158.  
  3159.               STANDARD PRACTICE
  3160.  
  3161.           In keeping with some standard practices, Questionnaire
  3162.      files normally start off with a PostInfo command to write
  3163.      the user's name, and current time to the ASW answer file.
  3164.      This acts also as a delimiter between individuals answering
  3165.      the questionnaire.
  3166.  
  3167.           Most questionnaires will display, ask questions and
  3168.      OutputAnswer to the .ASW file. This is strictly a text
  3169.      based answer file with only newline delimiting.
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175.                                  ┌──────┐
  3176.                                  │  65  │
  3177.                                  └──────┘
  3178.  
  3179.  
  3180.           Since questionnaires are commonly used for logon of new
  3181.      users, a userflag is often used to mark the user when the
  3182.      questionnaire has been answered, hence a SetFlag command may
  3183.      appear near the end of the questionnaire.
  3184.  
  3185.           In some cases an affirmative answer may indicate more
  3186.      information may be desired, thus the If/Endif construct is
  3187.      useful. For such structures, indentions are also commonly
  3188.      used, particularly in real-life programming.
  3189.  
  3190.           The following is a crude example of a questionnaire
  3191.      that might be constructed. Numerous blocks such as this
  3192.      might be used in a real questionnaire.
  3193.  
  3194.  
  3195.      PostInfo
  3196.      Display "|Welcome to my BBS"
  3197.      Display "|Do you play Chess"
  3198.      GetChoices YN Chess
  3199.      If Chess = "Y"
  3200.       SetFlag D1 ON
  3201.       Display "What is your rating? OR How good are you?"
  3202.       Ask 20 HowGood
  3203.      Endif
  3204.      SetFlag A1 ON
  3205.      Quit
  3206.  
  3207.  
  3208.           With the addition binary file options, questionnaires
  3209.      can also be used to build and maintain database files for
  3210.      display or further processing.
  3211.  
  3212.  
  3213.  
  3214.           The following is a somewhat more complex database
  3215.      program for getting information about other BBS systems.
  3216.      This represents a little more of the programmers style,
  3217.      with variables declared prior to use, and more practical
  3218.      display management.
  3219.  
  3220.           Several test runs were made on the output to assure the
  3221.      display was properly formatted.  While the SwiftBBS
  3222.      questionnaire command language is only utilitarian,
  3223.      anticipating and limiting the input helps control against the
  3224.      unexpected, and insures the database is in fact, readable.
  3225.  
  3226.           The writes to the disk file are grouped at the end of
  3227.      the file to guard against incomplete (& misaligned) entries
  3228.      to the file.
  3229.  
  3230.  
  3231.  
  3232.                                  ┌──────┐
  3233.                                  │  66  │
  3234.                                  └──────┘
  3235.  
  3236.      Variable 40 Name
  3237.      Variable 15  Phone
  3238.      Variable 15  Baud
  3239.      Variable 15  Hours
  3240.      Variable 25  Node
  3241.      Variable 65  ANotes
  3242.      Variable 65  BNotes
  3243.      PostInfo
  3244.      ClearScreen
  3245.      Display "       Do you want to view the current BBS list? "
  3246.      GetChoice YN View
  3247.      If View = "Y"
  3248.      Display "       Do you want details on each BBS listed? "
  3249.      GetChoice YN Details
  3250.      ClearScreen
  3251.      GetFile BBSLIST.DAT
  3252. Display "BBS Name                  Phone          baud      hrs       nn  "
  3253. Display "|========================= ============== ========= ========= ==="
  3254.      Repeat 32000
  3255.       Read Name
  3256.       Read Phone
  3257.       Read Baud
  3258.       Read Hours
  3259.       Read Node
  3260.       Read ANotes
  3261.       Read BNotes
  3262.       ChangeColor 12 0
  3263.       Display "|"
  3264.       TabDisplay 26 Name
  3265.       TabDisplay 15 Phone
  3266.       TabDisplay 10 baud
  3267.       TabDisplay 10 hours
  3268.       TabDisplay 10 Node
  3269.       If Details = "Y"
  3270.        ChangeColor 6 0
  3271.        Display "|   " ANotes
  3272.        Display "|   " BNotes
  3273.       Endif
  3274.      EndRepeat
  3275.      EndIf
  3276.      If Security = "100"
  3277.        Remark : Only sysops can add to the list
  3278.        ChangeColor 13 0
  3279.        Display "|       Do you want to add a BBS to this list?  "
  3280.        GetChoice YN Add
  3281.        If Add = "Y"
  3282.         ClearScreen
  3283.         ChangeColor 14 0
  3284.         Display "       Enter the Name of the Board:        "
  3285.         Ask 40 Name
  3286.  
  3287.  
  3288.  
  3289.                                  ┌──────┐
  3290.                                  │  67  │
  3291.                                  └──────┘
  3292.  
  3293.         Display "       Enter the complete phone number:    "
  3294.         Ask 30 Phone
  3295.         Display "       Enter the baud rates accepted:      "
  3296.         Ask 40 Baud
  3297.         Display "       What hours is this board operated:  "
  3298.         Ask 40 Hours
  3299.         Display "       Enter your current Net:Node Number: "
  3300.         Ask 30 Node
  3301.         SetFlag D8 ON
  3302.         OutputAnswer "BBS Name:  " Name
  3303.         OutputAnswer "PHONE:     " Phone
  3304.         OutputAnswer "BAUD:      " Baud
  3305.         OutputAnswer "HOURS:     " Hours
  3306.         OutputAnswer "NET/NODE:  " Node
  3307.         ChangeColor 14 0
  3308.        Display "  Describe your bulletin board in the following 2 lines|"
  3309.        Display "  or press enter twice|"
  3310.        Display "  "
  3311.         Ask 65 ANotes
  3312.         OutputAnswer "BBS Notes  " ANotes
  3313.         Display "       "
  3314.         Ask 65 BNotes
  3315.         OutputAnswer "BBS Notes  " BNotes
  3316.         AppendFile BBSLIST.DAT
  3317.         Write Name
  3318.         Write Phone
  3319.         Write Baud
  3320.         Write Hours
  3321.         Write Node
  3322.         Write ANotes
  3323.         Write BNotes
  3324.        Endif
  3325.      Endif
  3326.      ChangeColor 6 0
  3327.      Display "||      Press your enter key to return to SwiftBBS|"
  3328.      Quit
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334.  
  3335.  
  3336.  
  3337.  
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.                   ┌───────────────────────────────┐
  3347.                   │  Network Overview . . . . 68  │
  3348.        ┌──────────────────────┤  Mail Overview  . . .   . 70  ├──────┐
  3349.        │  Utilities/Networks  │  Swifecho . . . . . . . . 71  │  68  │
  3350.        └──────────────────────┤  Swiflink . . . . . . . . 75  ├──────┘
  3351.                   │  Swifpack . . . . . . . . 76  │
  3352.                   │  Msgtxt . . . . . . . . . 77  │
  3353.                   │  Swifdump . . . . . . . . 79  │
  3354.                   └───────────────────────────────┘
  3355.  
  3356.  
  3357.  
  3358.           The SWIFTBBS package of programs is designed for use in
  3359.      a FidoNet Technology Network, and meets many of the standards
  3360.      set up in published FidoNet Technical Specifications.  This
  3361.      section describes some of the ways you may need to interface
  3362.      SwiftBBS software with SwiftBBS and third-party utilities.
  3363.  
  3364.           The SwiftBBS utilities provide system operators with
  3365.      some messagebase maintenance, user maintenance, bulletins
  3366.      creation, menu editing, some diagnostic displays and
  3367.      netmail/echomail processing.  Some of the utilities included
  3368.      (Swifecho, etc) provide only basic support for FidoNet
  3369.      operation.
  3370.  
  3371.           If your needs exceed the functions provided, I encourage
  3372.      you to acquire one of the more advanced programs and pay to
  3373.      register the product selected.  While you are free to use
  3374.      SwiftBBS and the utilities individually or jointly for your
  3375.      non-commercial interests, you cannot take the same freedom
  3376.      with other software.
  3377.  
  3378.  
  3379.                       ┌───────────────────┬──────┐
  3380.                       │  Network Overview │  <>  │
  3381.                       └───────────────────┴──────┘
  3382.  
  3383.  
  3384.           In computer interfacing there are a wide variety of
  3385.      networks associated with different software and hardware
  3386.      connections.  As one example, in many offices, individual
  3387.      systems are networked with cabling and LAN software.
  3388.  
  3389.           FidoNet and FidoNet compatible systems are networked
  3390.      through dial phone systems and FidoNet Technology mailer
  3391.      software, such as FrontDoor or Binkley.  One of the primary
  3392.      purposes of networking is to facilitate transfer of NET and
  3393.      ECHOmail.  Access to individual systems (or nodes)
  3394.      participating in such a network is determined by their
  3395.      listing in a Nodelist.
  3396.  
  3397.           A detailed explanation of networking is beyond the scope
  3398.      of this manual.  In order to understand more about netmail
  3399.      and echomail, you may want to discuss it with another sysop.
  3400.  
  3401.  
  3402.  
  3403.                                  ┌──────┐
  3404.                                  │  69  │
  3405.                                  └──────┘
  3406.  
  3407.           In addition to the utilities included in the SwiftBBS
  3408.      package and discussed below, you will need nodelist files and
  3409.      a nodelist compiler.  You will also need to gain membership
  3410.      in a network and be assigned a net/node number to operate
  3411.      within any network environment.  In the case of point
  3412.      systems, you will need to find a sponsoring BBS system and
  3413.      join the associated POINTnet.
  3414.  
  3415.  
  3416.                 THE NODELIST
  3417.  
  3418.           The nodelist identifies each board with an address.  The
  3419.      basic format of the address includes a net number and node
  3420.      number in the format net/node.  Addressing may also be
  3421.      extended to include zone, point, or domain, in the form
  3422.      zone:net/node.point@domain.
  3423.  
  3424.           SwiftBBS supports use of the QNL*.BBS (QuickBBS) style
  3425.      nodelist but provides no means of compiling or editing one.
  3426.      Personal preference of nodelist compiler is PARSELST, which
  3427.      is also available for use at no charge.  Read the
  3428.      documentation for the selected compiler for more information
  3429.      on its use.  The SwiftBBS nodelist files must be installed in
  3430.      the same directory as the messagebase.
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.  
  3440.  
  3441.                      ┌───────────────────┬──────┐
  3442.                      │   Mail Overview   │  70  │
  3443.                      └───────────────────┴──────┘
  3444.  
  3445.  
  3446.           SwiftBBS software supports ECHOmail and both routed and
  3447.      direct NETmail.  Use of either of these requires interfacing
  3448.      with other programs.  One of these programs is an echomail
  3449.      processing program that must extract copies of messages and
  3450.      prepare them for distribution to other BBS systems and add
  3451.      received messages to the messagebase.  The SwiftBBS echomail
  3452.      processing program is Swifecho.  Swifecho handles both
  3453.      echomail and netmail but does not support echomail
  3454.      forwarding.  Swifecho can only be used in an end-node or
  3455.      point system.
  3456.  
  3457.           ECHOmail makes up the bulk of messaging today.
  3458.      ECHOmail (or ECHOMAIL, ECHOES) is the use of topical message
  3459.      conferences that are shared with other bulletin boards,
  3460.      including other types of personal computers (Mac, Amiga,
  3461.      Unix).  When a message is entered into an ECHO area on one
  3462.      participating system, echomail processing software extracts
  3463.      and sends ("echoes") it to all other boards linked into that
  3464.      particular topical conference.
  3465.  
  3466.           NETmail is directed from one user to another user,
  3467.      generally on another Bulletin Board System.  NET mail can
  3468.      either be sent direct or routed through another central
  3469.      system.  When entering NET mail messages, you will need to
  3470.      know the net/node number as well as the individual's name.
  3471.      In some cases, you may be able to send (File Attach) other
  3472.      files along with the message.
  3473.  
  3474.           Outbound netmail can be configured for any of several
  3475.      message areas by selecting the netmail board type.
  3476.  
  3477.  
  3478.  
  3479.  
  3480.  
  3481.  
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491.  
  3492.  
  3493.  
  3494.  
  3495.  
  3496.  
  3497.  
  3498.                         ┌────────────┬──────┐
  3499.                         │  Swifecho  │  71  │
  3500.                         └────────────┴──────┘
  3501.  
  3502.  
  3503.           Swifecho is a mini-echomail processing program.  It is
  3504.      mini- because it will only process incoming or outgoing.
  3505.      Swifecho will NOT forward messages, and "at this writing" has
  3506.      no dupe-detection and provides no archiving or extraction
  3507.      functions (recommend SPAZ).  Swifecho is only suitable for
  3508.      end-node or point operation.
  3509.           Swifecho operation is determined by a control file,
  3510.      SWIFECHO.CTL, and an area file, AREAS.BBS, and command-line
  3511.      options.  The control will follow the same format as the
  3512.      control file for Qecho.  Following is an example.  Semicolons
  3513.      will mark any line as a comment.
  3514.  
  3515.          ;  Swifecho Control File for Blue Point BBS
  3516.          ;
  3517.          Node         30566/8
  3518.      Aka          3801/15
  3519.          Strip        30566
  3520.          MailPath     C:\POINT\MAIL\
  3521.          FilesPath    C:\POINT\FILES\
  3522.          OutBoundPath C:\POINT\OUTBOUND\
  3523.          QuickBBSPath C:\POINT\SW\
  3524.  
  3525.           Some of the fields are not yet supported, but will be
  3526.      added in future releases, and may be used by other software.
  3527.      The primary fields in use in the current version of Swifecho
  3528.      include:
  3529.  
  3530.      Node -- specifies your network address.  This is the
  3531.         information that is added to SEEN-BY and PATH statements
  3532.         in echomail.  If you are a point system with a pointnet
  3533.         number your boss may have to strip your pointnet number.
  3534.      MailPath -- specifies the location of incoming mail packets.
  3535.         Swifecho looks here first for mail.  If this is specified,
  3536.         then all incoming netmail is put here in *.MSG format,
  3537.         when unpacking new packets.  Otherwise, Netmail is tossed into
  3538.         the Netmail board at the same time echomail is processed.
  3539.      FilesPath -- specifies the location of incoming mail.  After
  3540.         processing messages in MailPath, Swifecho looks here for
  3541.         the *.PKT files.
  3542.      QuickBBSPath -- specifies the location of any remaining
  3543.        inbound mail packets.
  3544.      OutboundPath -- specifies the location of outgoing *.OUT
  3545.             files.
  3546.          Strip -- specifies your private pointnet number if you need to
  3547.             strip these from your seen-bys. Your bossnode should be able
  3548.             to tell you this. This is for points only.
  3549.  
  3550.           Echomail areas are identified by areatag names, and the
  3551.      file AREAS.BBS is used to map incoming messages to the proper
  3552.      message area and send outgoing messages to designated nodes.
  3553.  
  3554.  
  3555.                                  ┌──────┐
  3556.                                  │  72  │
  3557.                                  └──────┘
  3558.  
  3559.      The format of AREAS.BBS is listed below.  Swifecho is more
  3560.      forgiving than QECHO on the spacing format of the file, but
  3561.      to keep on the good sides of QECHO, I recommend the format:
  3562.       <Board No><1 space><areatag name><1 tab><forwarding nodes>
  3563.      Swifecho isn't particular about the amount of white space
  3564.      between fields.
  3565.  
  3566.      1 LOCAL          3801/8
  3567.      10 NETMAIL       3801/8
  3568.      52 80XXX         3801/8
  3569.      53 C_ECHO        3801/8
  3570.      54 PASCAL        3801/8
  3571.  
  3572.           The AREAS.BBS file may be created with any text editor,
  3573.      or it may be created through Swifcnfg's message board
  3574.      configuration option.
  3575.  
  3576.           The options for SWIFECHO are:
  3577.  
  3578.           -e = extract/export new ECHOmail;
  3579.           -f<msg_num> = rescan starting number;
  3580.           -i<filename.ext> = log inbound echomail activity;
  3581.           -m = process *.MSG netmail in MailPath.
  3582.           -n = extract/export new NETmail;
  3583.           -o = log outbound echomail activity (SWIFECHO.LOG);
  3584.           -r<areatag> = rescan <areatag>
  3585.           -s<net/node> = send to <node>
  3586.           -t = trace;
  3587.           -u = unpack new packets and toss echomail;
  3588.           -#<msg_num> = individual message export;
  3589.           -F = create *.PKT and FD file attach message;
  3590.           -I = ignore diskspace when tossing;
  3591.           -R = Repack packets when tossing;
  3592.  
  3593.           The -u, -i, and -m are options used to toss new mail
  3594.      into the SwiftBBS message base.  The -u option tells Swifecho
  3595.      to process incoming packets and toss the messages into the
  3596.      SwiftBBS message base.  The -i tells Swifecho to create an
  3597.      echomail import log for use with Swiflink.  This speeds up
  3598.      Swiflink processing if mail is received in only a few of the
  3599.      areas.
  3600.  
  3601.           Since some software may need to write MSG files & have
  3602.      other processes (Areafix, etc) read MSG files, If a MailPath
  3603.      is specified in Swifecho.ctl, netmail messages & messages for
  3604.      unknown areas are put in this directory, named numerically.
  3605.      The -m option tells Swifecho to process *.MSG files in the
  3606.      MailPath.  If no MailPath is specified, these messages are
  3607.      automatically tossed into the netmail area without delay.
  3608.  
  3609.  
  3610.  
  3611.  
  3612.                                  ┌──────┐
  3613.                                  │  73  │
  3614.                                  └──────┘
  3615.  
  3616.           The -R option is used with the -u unpack option.  This
  3617.      forces Swifecho to repack FidoNet style PKT files.  This is
  3618.      useful for tossing packets with minimal diskspace.  When
  3619.      there is not enough space to toss all the messages from a
  3620.      packet, Swifecho will toss as many as possible and then
  3621.      repack the file, in effect "deleting" the messages already
  3622.      tossed from the packet.  Note, however, this takes time.
  3623.  
  3624.           The new default for Swifecho is to unpack mail only when
  3625.      there is probably enough space to put all the messages into
  3626.      the messagebase.  The -I option is used to ignore diskspace
  3627.      when tossing packets.  This will force Swifecho to toss as
  3628.      many as possible from the packet, and ignore (delete) the
  3629.      rest.
  3630.  
  3631.           The -e, -n, and -o are options used to extract mail from
  3632.      the SwiftBBS message base and export them to other boards.
  3633.      When new messages are entered into the messagebase, SwiftBBS
  3634.      creates an entry in ECHOMAIL.BBS for new echomail and an
  3635.      entry in NETMAIL.BBS for new netmail.  The -e and -n options
  3636.      instruct Swifecho to export "unmoved" messages listed in
  3637.      ECHOMAIL.BBS (for -e) or NETMAIL.BBS (for -n) and then
  3638.      deletes it.
  3639.  
  3640.           The -o options causes Swifecho to keep a log of echomail
  3641.      exported from the system.  The file SWIFECHO.LOG lists the
  3642.      areatag for each echo-message.  This may be used to monitor
  3643.      the activity of these message areas.
  3644.  
  3645.           Messages entered in any board specified as NETmail, will
  3646.      be exported accordingly.  If the board is not listed in
  3647.      AREAS.BBS, or there isn't a forwarding address in the
  3648.      AREAS.BBS for that board, the message will be routed direct.
  3649.      If the board is listed in AREAS.BBS, the message will be
  3650.      routed through the designated net/node.  According to FTSC
  3651.      specs, NETmail messages do not have origin lines, path, or
  3652.      seen-by information.
  3653.  
  3654.           The -r and -s options must be used together.  The -r
  3655.      option rescans the message area for <areatag>, and sends all
  3656.      messages found to the node specified with the -s option.
  3657.      Only one area and one node can be processed at a time.
  3658.  
  3659.           The -F option directs Swifecho to save the file as a
  3660.      *.PKT, and create a file-attach message.  This is an addition
  3661.      to provide support for Frontdoor and other mailer software
  3662.      that requires file-attach for echomail.  The default is to
  3663.      create Binkley-style .FLO and .OUT files.
  3664.           In order to exporting a single message with a
  3665.      file-attach message, the -F must precede the -# option.
  3666.  
  3667.  
  3668.  
  3669.                                  ┌──────┐
  3670.                                  │  74  │
  3671.                                  └──────┘
  3672.  
  3673.      Errorlevels ...
  3674.  
  3675.           If Swifecho processes any echomail, it will exit with
  3676.      errorlevel 5, if it doesn't process any mail, it exits with
  3677.      errorlevel 4, and if there is a serious error, it will exit
  3678.      with errorlevel 2.  The errorlevel can be used to control
  3679.      whether or not programs such as Swiflink need to be run.
  3680.  
  3681.           When multiple processing options are specified on the
  3682.      commandline, processing will follow a certain order.  Single
  3683.      messages (-#) are exported first and flags (i.e.  -F) are set
  3684.      in the order of appearance, then echomail (-e) is exported,
  3685.      netmail exported (-n), inbound mail unpacked & tossed (-u),
  3686.      *.MSG files tossed (-m), and finally rescans (-r,-s).
  3687.  
  3688.           Note: "toss" refers to importing and adding messages
  3689.      to the messagebase.
  3690.  
  3691.           The order of processing is internal, and with few
  3692.      exceptions, can't be designated on the command-line.  If you
  3693.      want an alternate order of processing, you will need to run
  3694.      Swifecho at two different times.  For example, the
  3695.      -rescan/-sendto option is processed following the other
  3696.      options.  If you want to -rescan/-send before processing
  3697.      incoming mail, you need to run the program twice (Swifecho
  3698.      -r..  -s..; Swifecho -u),
  3699.  
  3700.  
  3701.  
  3702.  
  3703.  
  3704.  
  3705.  
  3706.  
  3707.                         ┌────────────────┬──────┐
  3708.                         │    Swiflink    │  75  │
  3709.                         └────────────────┴──────┘
  3710.  
  3711.           Swiflink is a maintenance utility that links message
  3712.      threads together for messages imported from echomail.  It can
  3713.      be run following Swifecho's unpacking of new mail.  Swiflink
  3714.      links messages in all areas based on the Subject, not
  3715.      including Re:, etc.  There is a maximum of 1024 threads per
  3716.      area (if system memory permits).
  3717.  
  3718.           Swiflink can alternately read a list file of areas to
  3719.      link.  Swifecho creates an import log file that is normally
  3720.      used for this.  The list file is not automatically deleted,
  3721.      so you will have to do that if you have no further use for
  3722.      it.
  3723.  
  3724.      The options for SWIFLINK are:
  3725.  
  3726.           -a = analyze disk space;
  3727.           -k = kill backup files when finished;
  3728.           -l<filename.ext> = use list file;
  3729.           -t = trace mode;
  3730.           -w = write-in-place;
  3731.  
  3732.           The write-in-place mode rewrites the file in the same
  3733.      space as the original file. This allows you to link
  3734.      messages without additional disk requirements. If you abort
  3735.      the operation when in write-in-place, there is a possibility
  3736.      the files will be corrupted.
  3737.  
  3738.          The -analyze option allows you to write in place only
  3739.      if there isn't enough space for normal processing. The -w
  3740.      option must still be used but ignored if sufficient space
  3741.      exists.
  3742.  
  3743.  
  3744.  
  3745.                           ┌──────────────┬──────┐
  3746.                           │   Swifpack   │  76  │
  3747.                           └──────────────┴──────┘
  3748.  
  3749.           Swifpack is a SwiftBBS utility for maintaining the
  3750.      SwiftBBS messagebase.  SWIFPACK is a combined message killer
  3751.      and packer.  It's operation is controlled by information in a
  3752.      file called "KILLSTAT.BBS", and commandline options.
  3753.           Control file commands have the format, KILLCOUNT
  3754.      <boards> -N<count>.  The only currently supported select
  3755.      operation is KILLCOUNT.  An additional verb, MAXKEEP may be
  3756.      used in the KILLSTAT information file to apply to all areas.
  3757.      This may be handy if you keep the same number in all areas,
  3758.      or for when you add new areas and forget to add it to
  3759.      maintenance operations.
  3760.  
  3761.           This is a sample KILLSTAT.BBS file:
  3762.  
  3763.                MAXKEEP 20
  3764.                KILLCOUNT 3 5 -N15
  3765.                killcount 188 -N10
  3766.                KILLCOUNT 59 -N5
  3767.  
  3768.  
  3769.           Swifpack supports analyze and write-in-place modes, that
  3770.      may be specified on the command line.
  3771.  
  3772.         Swifpack DOES check disk space, and will abort if there is
  3773.      not enough space on the disk and no over-riding commands have
  3774.      been used.  Swifpack packs the files into temporary files
  3775.      (*.UPD), and keeps old files as *.BAK.  Thus, if the pack is
  3776.      unsuccessful, you will have some *.UPD files left over.
  3777.      Otherwise, a backup message base is kept in *.BAK files.
  3778.  
  3779.         Swifpack ALWAYS renumbers, and does update lastread and
  3780.      highmsgread counters for current users. Swifpack also
  3781.      re-numbers message links to reflect the new message numbers.
  3782.  
  3783.  
  3784.         The commandline options for Swifpack include:
  3785.            -a = analyze disk space and message base (partial);
  3786.            -k = kill backup files when finished;
  3787.            -w = write-in-place;
  3788.            -t = trace mode;
  3789.  
  3790.           The write-in-place mode rewrites the file in the same
  3791.      space as the original file.  This allows you to link messages
  3792.      without additional disk requirements.  If you abort the
  3793.      operation when in write-in-place, the messagebase files will
  3794.      be corrupted and unusable.
  3795.           When using -a in conjunction with -w, Swifpack
  3796.      will analyze disk space and write-in-place only if there's
  3797.      not enough space to do a normal messagebase pack.
  3798.  
  3799.  
  3800.  
  3801.  
  3802.                         ┌────────────┬──────┐
  3803.                         │   Msgtxt   │  77  │
  3804.                         └────────────┴──────┘
  3805.  
  3806.           MSGTXT is a file import program for the SwiftBBS
  3807.      message base.  It's initial purpose was to enable me to
  3808.      create a messagebase with the SwiftBBS documentation, but it
  3809.      can also be used to import other individual and multiple
  3810.      messages into SwiftBBS format files.
  3811.           This version now also allows you to make a set of
  3812.      bulletins from a textfile.
  3813.  
  3814.       Usage: MSGTXT -b<boardno or bulletin> -m<messagefile> -[options]
  3815.       Options are:
  3816.          -b = Board Number or bulletin basename;
  3817.          -m = Message file;
  3818.          -t = Address message to;
  3819.          -f = Who message is from;
  3820.          -s = Subject of message;
  3821.          -l = maximum lines per message;
  3822.          -p = page number to start numbering;
  3823.          -c = character number to break page at;
  3824.          -i = ignore page breaks;
  3825.          For to, from, subject, use '_' instead of spaces;
  3826.  
  3827.  
  3828.           MSGTXT requires you to specify a board number (or
  3829.      bulletin base filename) and a filename for the textfile
  3830.      being imported.  If the -b parameter is numeric, messages
  3831.      will be imported, otherwise bulletins will be created.
  3832.  
  3833.           The formatting of files into messages is controlled by
  3834.      the number of lines and location of formfeed or alternate
  3835.      page break characters.  When a page break character is
  3836.      found, it is stripped and a new message is started.  A new
  3837.      message is also started if MSGTXT encounters 49 linefeeds
  3838.      for the current message.
  3839.  
  3840.           An alternate page break character can be specified with
  3841.      the -c option.  The default is ascii 12.  To use '|' (ascii
  3842.      124) as a page break character, specify it as -c124.  The
  3843.      linefeed count can be altered by the -l commandline switch.
  3844.           To process files controlled only be page break
  3845.      characters, you may be able to set the linefeed count above
  3846.      the expected linecount for any page.
  3847.           To process files controlled only be linefeeds, you can
  3848.      specify that with the -i option.  The page break characters
  3849.      are still stripped when read.
  3850.  
  3851.           The -p page number will be used to create temporary
  3852.      files and identify each message and/or bulletin.  The page
  3853.      number option is useful if you want to create bulletins from
  3854.      a document with a table of contents, followed by numbered (&
  3855.  
  3856.  
  3857.  
  3858.  
  3859.                                  ┌──────┐
  3860.                                  │  78  │
  3861.                                  └──────┘
  3862.  
  3863.  
  3864.      formfeed separated) pages.  For example, if MY.TXT has the
  3865.      contents as one page followed by pages 1-5, you can create
  3866.      BULLET.ASC, BULLET1.ASC,..BULLET5.ASC with the command:
  3867.              MSGTXT -mMY.TXT -bBULLET -p0
  3868.  
  3869.           This can also be used to convert several different
  3870.      files into a set of bulletins.
  3871.              MSGTXT -mREPORT.TXT -bBULLET -p1
  3872.              MSGTXT -mSUMMARY.TXT -bBULLET -p2
  3873.  
  3874.           For intro pages, i, ii, etc., use a negative number
  3875.      to align page numbers. With a document numbered i, ii,
  3876.      contents, 1..5 you can create files BULLET-2.ASC (i),
  3877.      BULLET-1.ASC (ii), BULLET.ASC (contents), BULLET1.ASC...
  3878.      with the command:
  3879.              MSGTXT -mMY.TXT -bBULLET -p-2
  3880.  
  3881.            Other options controlled by the commandline include
  3882.      From, To, and Subject. The defaults are:
  3883.          From: SwiftBBS Messagetext
  3884.          To: All
  3885.          Subject: <textfile>
  3886.  
  3887.      When specifying alternate addressing or subjects, use
  3888.      underscore ('_') instead of spaces to separate words.
  3889.  
  3890.      Examples:
  3891.  
  3892.          MSGTXT
  3893.         displays reminder of Usage.
  3894.          MSGTXT -b18 -mSWIFTBBS.ABS
  3895.         imports the file SWIFTBBS.ABS into board 18.
  3896.          MSGTXT -b21 -mSWIFTBBS.LOG -l60 -fDana_Bell -tAll_Users
  3897.         imports the file SWIFTBBS.LOG into board 21, and
  3898.         addresses messages from "Dana Bell" to "All Users".
  3899.         Each page contains a maximum of 60 lines.
  3900.          MSGTXT -bBULLET -mMY.TXT
  3901.         creates BULLET1.ASC - BULLET5.ASC from the file
  3902.         MY.TXT.
  3903.          MSGTXT -mSWIFTBBS.ERR -tAll gives you an error (no board
  3904.         number specified) and exit.
  3905.  
  3906.  
  3907.      Note: The status of the board will be observed.  If the
  3908.      message board is an echo board, the imported messages will
  3909.      be treated as echo-able messages.  The origin-line shows the
  3910.      system name, and network addressing aka is maintained for
  3911.      the selected message board.
  3912.  
  3913.  
  3914.  
  3915.  
  3916.                            ┌─────────────┬──────┐
  3917.                            │  Swifdump   │  79  │
  3918.                            └─────────────┴──────┘
  3919.  
  3920.           Yet another utility provided with SwiftBBS is SWIFDUMP.
  3921.      This utility simply dumps various control file information to
  3922.      the screen for quick checks.  When reporting bugs in
  3923.      SwiftBBS, it can be helpful if the configuration information
  3924.      is redirected to a text file that you can send to the
  3925.      author.  Executed without parameters displays a menu of
  3926.      options.  The command line arguments for SWIFDUMP are:
  3927.  
  3928.                   -a = display information from all files;
  3929.                   -b = display message board information;
  3930.                   -c = display basic configuration;
  3931.                   -e = display event list;
  3932.           -m = display menu to select from;
  3933.           -t = display total active messages in messagebase;
  3934.                   -x = display exit information;
  3935.                   -n<string> = search nodelist for string,net/node,baudrate;
  3936.                   -u<string> = display user for <string>;
  3937.  
  3938.            Redirecting Swifdump is done by redirecting output from
  3939.      the command-line with 'filename.dmp', i.e. for a
  3940.      configuration display,
  3941.  
  3942.           SWIFDUMP -c > SWIFTBBS.DMP
  3943.  
  3944.            To append an existing file, use double arrows, '>>',
  3945.      i.e. for a listing of boards,
  3946.  
  3947.           SWIFDUMP -b >> SWIFTBBS.DMP
  3948.  
  3949.  
  3950.  
  3951.  
  3952.  
  3953.  
  3954.                  ┌───────────────────────────────┐
  3955.     ┌────────────────────┤  Networks . . . . . . . . 82  ├──────┐
  3956.     │    Applications    │  Point Overview . . . . . 83  │  80  │
  3957.     └────────────────────┤  BBS Overview . . . . . . 84  ├──────┘
  3958.                  │  Making the Point . . . . 85  │
  3959.                  │  Sample BBS setup . . . . 91  │
  3960.                  └───────────────────────────────┘
  3961.  
  3962.  
  3963.  
  3964.           SwiftBBS is basically a message database.  In referring
  3965.      to this database, the term message-base is often used.
  3966.      Consequently, it may be suitable software for any environment
  3967.      where leaving messages to others is needed.  While the
  3968.      primary purpose for the development of SwiftBBS was to enable
  3969.      participation in the network echomail conferences.  Some
  3970.      other common applications may include the following:
  3971.  
  3972.           Inter-office: Clubs, organizations or businesses may set
  3973.      up their own BBS & send/receive correspondence from a central
  3974.      system. Setups are possible where all offices are callable,
  3975.      or where a single system is regularly polled.
  3976.  
  3977.           Intra-office: With a minimum setup of BBS and message
  3978.      editor, office personnel can exchange messages, leaves
  3979.      public or private notes, and access bulletins or text based
  3980.      databases relative to the offices organization. A private
  3981.      message area for each individual will enable each user to
  3982.      send/receive personal notes.
  3983.  
  3984.           Home messaging: The notes on the frig could be
  3985.      replaced with a computer based messaging system similar to
  3986.      the Intra-office setup.
  3987.  
  3988.           Shell: Using various shell types, SwiftBBS could act
  3989.      as a shell for running programs from a menu.
  3990.  
  3991.           Interpreter: Using the command language, some utilities
  3992.      could also be designed to run as separate programs.  The
  3993.      command language provides the basics for text based
  3994.      programming.
  3995.  
  3996.           Information/Help Database: Using bulletins and File
  3997.      displays, SwiftBBS could act as a help database or
  3998.      information file.
  3999.  
  4000.  
  4001.  
  4002.  
  4003.  
  4004.  
  4005.  
  4006.  
  4007.  
  4008.  
  4009.  
  4010.  
  4011.                                  ┌──────┐
  4012.                                  │  81  │
  4013.                                  └──────┘
  4014.  
  4015.           If that's not enough, for a cost, SwiftBBS can be
  4016.      customized to meet a particular need.  Custom versions of
  4017.      SwiftBBS will still operate with the same options as the
  4018.      generic versions, but hard-coded with additional specialized
  4019.      database options.  On-line estimates, organizational project
  4020.      listings, and various accounting reports are some
  4021.      possibilities.
  4022.  
  4023.           Customized versions won't be distributed, and will not
  4024.      affect the availability of the generic SwiftBBS as a free
  4025.      messaging program.  You're also still free to use SwiftBBS to
  4026.      take care of your special needs without custom programming.
  4027.  
  4028.  
  4029.  
  4030.                           ┌──────────────┬──────┐
  4031.                           │   Networks   │  82  │
  4032.                           └──────────────┴──────┘
  4033.  
  4034.           SwiftBBS software is primarily designed for use in
  4035.      messaging networks.  When speaking of "networks" here, the
  4036.      reference is to phone-line interfaced networks such as
  4037.      FidoNet, not wide-area, value-added, or local-area networks.
  4038.  
  4039.           These network boards share messages and other data by
  4040.      using a set of standard procedures and file formats,
  4041.      (including many non-PC microcomputers) and exchange this
  4042.      information over local and long-distance phone lines.
  4043.      Related software falls into several areas.
  4044.  
  4045.           System software .. a device driver for your monitor
  4046.      and a fossil driver are the two key items needed here.
  4047.           Mailer software ..  The mailer is what makes networking
  4048.      possible.  An unattended mailer calls other boards, answers
  4049.      calls, receives and transfers mail, and calls or exits to
  4050.      other functions.  The mailer is also referred to as a
  4051.      Front-End.
  4052.           Archiving software ..  As an option, most transfers are
  4053.      compressed (or archived) to speed transfer and save disk
  4054.      space.
  4055.           Message handling software ..  Converts specially
  4056.      formatted message files from and to the messagebase.  Also
  4057.      called tossing & scanning.
  4058.           Nodelist software ..  Converts a network nodelist (or
  4059.      directory) into a useable form.
  4060.           Utility software .. Allows you to maintain the files
  4061.      used in the system, extract information from the files, or
  4062.      summary activities.
  4063.  
  4064.           An in-depth explanation of each program would be beyond
  4065.      the scope of this documentation.  The SwiftBBS package
  4066.      includes most of the programs needed for message handling and
  4067.      BBS/Point maintenance.  The remaining discussions assume you
  4068.      will be familiar with the other software items mentioned.  To
  4069.      get more information on BBS points, ask your local FidoNet
  4070.      BBS system operator.
  4071.  
  4072.  
  4073.  
  4074.  
  4075.  
  4076.  
  4077.  
  4078.  
  4079.  
  4080.  
  4081.  
  4082.  
  4083.  
  4084.  
  4085.  
  4086.  
  4087.                                  ┌──────┐
  4088.                                  │  83  │
  4089.                                  └──────┘
  4090.  
  4091.  
  4092.      Interfacing and batch files
  4093.           In order to interface supplemental network software with
  4094.      the operation of SwiftBBS, it necessary to create a batch
  4095.      file.  While there are programs that will take care of most
  4096.      of the functions, most systems still require batch files to
  4097.      adequately customize a point or BBS.  Also, since each
  4098.      program operates separately, the memory requirement is not as
  4099.      much of a problem.  The following sample setups illustrate
  4100.      ways the batch file can be used to coordinate activity.
  4101.  
  4102.      Directory structure
  4103.           Using a directory structure to separate each type of
  4104.      file makes system maintenance easier, and makes it easier to
  4105.      comprehend the operations and information being handled.
  4106.      The directory structure selected will depend on the
  4107.      individual sysop. The following examples uses a single
  4108.      directory with multiple subdirectories.
  4109.  
  4110.  
  4111.                             ┌────────────────┐
  4112.                             │ Point overview │
  4113.                             └────────────────┘
  4114.  
  4115.  
  4116.           A Point System is a user's private 'BBS'.  Instead of
  4117.      reading and replying to messages on a BBS, a sponsoring BBS
  4118.      system can transfer the related message files to a point
  4119.      system.  The point-operator can then read/reply off-line,
  4120.      then transfer the replies back to the 'boss' system.  In most
  4121.      cases the point system can imitate all the messaging
  4122.      capabilities of the normal BBS.
  4123.  
  4124.           SwiftBBS software enables you to operate a point, and
  4125.      can now support end-node BBS operation.  Technically, point
  4126.      referes to a hierarchial configuration in a particular
  4127.      network.  Each net has several nodes, and each node may have
  4128.      several points.  While point systems can easily operate as
  4129.      public BBSs, in most cases points are off-line user systems.
  4130.  
  4131.  
  4132.  
  4133.  
  4134.  
  4135.  
  4136.  
  4137.  
  4138.  
  4139.  
  4140.  
  4141.  
  4142.  
  4143.  
  4144.                                  ┌──────┐
  4145.                                  │  84  │
  4146.                                  └──────┘
  4147.  
  4148.           In order to operate as a point, you will have to have a
  4149.      sponsoring BBS, and interface SwiftBBS with other network
  4150.      programs, each of which may need to be configured.
  4151.      overview
  4152.  
  4153.           SwiftBBS includes support for private pointnets and
  4154.      multiple addresses.  Both are assigned by Network
  4155.      coordinators and usually come with some forewarnings.
  4156.      In many cases, point systems are configured with both
  4157.      system numbers.  One is a point number off of the BossNode
  4158.      while the other is the private pointnet number, both of which
  4159.      should correspond with each other.
  4160.  
  4161.           As an example, the point number for point 7 is
  4162.      1:3801/8.7, while the pointnet number would be 1:30566/7.0
  4163.      PointNet numbers should only be used for operations with the
  4164.      pointnet.  Some Network policies dictate that pointNet
  4165.      numbers are only used for boss/point interaction and should
  4166.      not appear in any origin-lines.  Only a valid 4D point number
  4167.      should appear in the origin line.
  4168.  
  4169.         Since points are still a bit new, all of the software used
  4170.      for BBS operation doesn't fully support it.  In order to make
  4171.      it work some kludges are also used to manipulate messages and
  4172.      message base operations.  At this writing, SwiftBBS is
  4173.      written to mimic QuickBBS operation, and to support Qecho.
  4174.      Since the resulting message file doesn't conform to FidoNet
  4175.      specs, a POINTFIX operation may be required by the boss node.
  4176.  
  4177.  
  4178.                             ┌────────────────┐
  4179.                             │  BBS overview  │
  4180.                             └────────────────┘
  4181.  
  4182.           Other than the addressing problems of points, BBS
  4183.      setups are very similar. One of the key differences is that
  4184.      SwiftBBS must additionally be remotely accessible. This is
  4185.      done by using alternate command-line options as directed by
  4186.      the Mailer software.
  4187.  
  4188.           Either the batch file or the mailer executes SwiftBBS
  4189.      with the user on line, by specifying the baudrate to use.
  4190.  
  4191.  
  4192.  
  4193.  
  4194.  
  4195.  
  4196.  
  4197.  
  4198.  
  4199.  
  4200.  
  4201.                     ┌────────────────────┬──────┐
  4202.                     │  Making the Point  │  85  │
  4203.                     └────────────────────┴──────┘
  4204.  
  4205.  
  4206.      The following (low-cost) system setup uses this list of
  4207.      software. The actual filenames aren't included due to the
  4208.      high likelyhood the versions will change.
  4209.  
  4210.      System software - ZAVT.SYS or ANSI.COM, and X00.*
  4211.  
  4212.      Mailer software - BinkleyTerm (BT.EXE).
  4213.  
  4214.      Archiving software - LHARC for archives, SPAZ for archive
  4215.      extraction, and oMMM for archive creation/management.
  4216.  
  4217.      Message handling software - Swifecho.
  4218.  
  4219.      Nodelist software - NODELIST.??? and PARSELST.
  4220.  
  4221.      Utility software - Swiflink and Swifpack.
  4222.  
  4223.      The batch file - you design it to meet your needs.
  4224.  
  4225.           The following discussions refer to a system with the
  4226.      following directory structure.
  4227.  
  4228.  
  4229.          C:\POINT─┬─BIN
  4230.                   ├─BT
  4231.                   ├─FILES
  4232.                   ├─MAIL
  4233.                   ├─OUTBOUND
  4234.                   └─SW
  4235.  
  4236.  
  4237.           This directory structure was selected to isolate
  4238.      the programs and files of the point system.  This also makes
  4239.      it simpler to backup, or to exclude from backups, depending
  4240.      on your level of priorities.  The directories would contain
  4241.      the following software.
  4242.  
  4243.          POINT\BIN
  4244.         All executable program files can go here.  This will leave
  4245.      the other directories a little less cluttered.  If you need
  4246.      to keep all the documentation, you may want to create an
  4247.      additional directory POINT\DOC.  Additional directories for
  4248.      menus and/or SwiftBBS text files may be created parallel or
  4249.      below the POINT\SW directory.
  4250.  
  4251.          POINT\BT
  4252.         The BinkleyTerm files BINKLEY.EVT & BINKLEY.CFG will be
  4253.         located here.
  4254.  
  4255.  
  4256.  
  4257.  
  4258.                                  ┌──────┐
  4259.                                  │  86  │
  4260.                                  └──────┘
  4261.  
  4262.  
  4263.          POINT\FILES
  4264.         All inbound files will come in here. Files here may
  4265.         include files sent by other systems and files requested.
  4266.  
  4267.          POINT\MAIL
  4268.         On some software this will contain Netmail messages.
  4269.         SwiftBBS may or may not use this. These files will be of
  4270.         the *.MSG type.
  4271.  
  4272.          POINT\OUTBOUND
  4273.         All outbound files will go out here. In the BinkleyTerm
  4274.         style, these files are identified by the address and a
  4275.         number of extensions, CUT, FLO, REQ, MO?, TU?, etc.
  4276.  
  4277.  
  4278.      POINT\SW
  4279.         Your message base files will be stored here, as well as
  4280.         all SwiftBBS control files.  The QNL*.BBS (compiled)
  4281.         nodelist files will also go here, as well as the PARSELST
  4282.         control file and raw (uncompiled) nodelist.  SwiftBBS may
  4283.         also be configured to look here for menus and textfiles.
  4284.  
  4285.  
  4286.      Addresses
  4287.           When operating SwiftBBS as a point system, you will need
  4288.      to configure SwiftBBS aka's appropriately for your pointnet
  4289.      number and the message boards for your point number.  The
  4290.      simplest way to do this is to configure the main address as
  4291.      your pointnet, and aka 1 for your point.
  4292.           For all echo message boards, select 1 as the "aka to
  4293.      use".  For netmail, select 0 as the "aka to use".
  4294.         In SWIFCNFG's configuration screen 2, specify your
  4295.      pointnet number (z:fffff/pp.0) as the main node address, and
  4296.      your point number (z:mmm/nn.pp) as the first Aka.
  4297.         In SWIFCNFG's message area specifications, specify 0 as
  4298.      the Aka to use for your netmail board.  For ALL OTHERS,
  4299.      specify 1 as the Aka to use.
  4300.  
  4301.         In the control file for SWIFECHO, specify your pointnet
  4302.      number as the Node, but don't include the zone or point.
  4303.  
  4304.         Node  30566/n
  4305.  
  4306.          Since current versions of SWIFECHO will not forward, all
  4307.      mail originates or terminates on your system.
  4308.  
  4309.  
  4310.  
  4311.  
  4312.  
  4313.  
  4314.  
  4315.                                  ┌──────┐
  4316.                                  │  87  │
  4317.                                  └──────┘
  4318.  
  4319.                           --  binkley  --
  4320.  
  4321.           One program needed for distribution of echomail is a
  4322.      front-end/mailer capable of "talking" with other front-end/
  4323.      mailer programs.  BinkleyTerm is one such program.  It is not
  4324.      only very popular and very good, it's also "free for the
  4325.      asking", like SwiftBBS.
  4326.  
  4327.           Since Binkleyterm is the "front-end" to BBS or point
  4328.      operation, it's necessary to get this working before you can
  4329.      start linking into some echoes.  It's also the simplest.  The
  4330.      Binkley setup uses several configuration files and two
  4331.      program files.  The two key configuration files are
  4332.      BINKLEY.CFG and BINKLEY.EVT.
  4333.  
  4334.           As a part of binkley.cfg, you should specify your
  4335.      pointnet number (z:fffff/pp.0, replacing pp with your
  4336.      point).  Also, include PrivateNet in the file.  I recommend
  4337.      using a QuickNodelist entry and specifying the SwiftBBS
  4338.      directory for the location, to avoid having to keep another
  4339.      nodelist.
  4340.  
  4341.      BINKLEY.CFG
  4342.         Address 1:30566/n.0
  4343.             QuickNodelist
  4344.         Nodelist C:\POINT\SW
  4345.         Boss mmmm/nn
  4346.         ;BossPwd
  4347.         ;BossPhone
  4348.  
  4349.  
  4350.           Since the point system will not be left on-line, the
  4351.      events are very limited.  This event file simply exits to the
  4352.      UNPACKMAIL section of the batch file when new mail is
  4353.      received through Binkley. To run the message-base packing
  4354.      procedure you will need to press F3 from the Binkley screen.
  4355.  
  4356.      BINKLEY.EVT
  4357.         Event All 00:00 24:00         E1=10  E2=10;
  4358.  
  4359.  
  4360.                                --  ommm  --
  4361.  
  4362.           At this stage, SwiftBBS only creates .OUT files and
  4363.      places them in the outbound area.  This will work like this,
  4364.      but most BBS systems will want them compressed.
  4365.           In order to prepare messages for delivery to other
  4366.      nodes, archives are created and identified for delivery by
  4367.      Binkley.  The BinkleyTerm companion for this oMMM (opus
  4368.  
  4369.  
  4370.  
  4371.  
  4372.                                  ┌──────┐
  4373.                                  │  88  │
  4374.                                  └──────┘
  4375.  
  4376.  
  4377.      matrix message masher) and configuration files for oMMM
  4378.      include OMMM.CTL and OMMM.CFG.  Other control files are
  4379.      created by BinkleyTerm's BTCTL program mentioned above.  In
  4380.      OMMM.CTL you need to specify the fidonet address of the
  4381.      BossNode for mail processing statements.
  4382.  
  4383.             UNHOLD mmmm/nn
  4384.             ONECM mmmm/nn
  4385.  
  4386.           The OMMM.CFG is an optional replacement for a long
  4387.      command-line.  In newer versions, oMMM is required.  For more
  4388.      information about oMMM, read the documentation that
  4389.      accompanies oMMM.  The following is a typical OMMM.CFG file.
  4390.  
  4391.             messagepath     C:\POINT\MAIL
  4392.             holdpath        C:\POINT\OUTBOUND
  4393.             routefile       C:\POINT\BT\OMMM.CTL
  4394.  
  4395.                         --  parselst/nodelists  --
  4396.  
  4397.           With some mailers, you don't need a nodelist if you're
  4398.      only going to call your echomail feed system.  Additional
  4399.      entries for BossPhone and BossPwd may be required in
  4400.      BINKLEY.CFG, and/or an alternate address.  But for other
  4401.      uses, you may want to use a handmade one.
  4402.           You will need to be sure YOU're included in the
  4403.      nodelist.  Normally, you will be provided with a private
  4404.      nodelist file, but you can also create one with the basic
  4405.      requirements.  This simple nodelist file might look like this
  4406.      and be compiled with parselst.
  4407.  
  4408.       Zone,1,
  4409.       Host,30566,Baby_Blue,Tyler_TX,Dana_Bell,1-903-581-6077,9600,CM,XA,HST
  4410.       ,n,Another_Point,Tyler_TX,Sis_Sopp,1-903-nnn-nnnn,2400,XA
  4411.       Host,3801,
  4412.       ,8,Baby_Blue,Tyler_TX,Dana_Bell,1-903-581-6077,9600,CM,XA,HST
  4413.  
  4414.      The following statements should be included in the control
  4415.      file for Parselst, PARSELST.CFG.
  4416.      If you specify the areacode here, be sure to strip it in
  4417.      binkley.cfg.
  4418.         Node z:fffff/pp
  4419.             QuickNodelist
  4420.  
  4421.      If you will be using both a network nodelist and the pointnet
  4422.      nodelist, you will need to rename the pointnet nodelist to
  4423.      something like NODELIST.PTS and include the statement
  4424.         Mylist  Nodelist.pts
  4425.  
  4426.  
  4427.  
  4428.  
  4429.                                  ┌──────┐
  4430.                                  │  89  │
  4431.                                  └──────┘
  4432.  
  4433.             --  batch file(s)  --
  4434.  
  4435.           The following is a batch file for a simple point
  4436.      operation, and BBS access using the above programs and
  4437.      control files.  With it, BinkleyTerm is configured for the
  4438.      following operations:
  4439.  
  4440.          F1 -  unpacks incoming mail. (usually done automatically)
  4441.          F2 -  local logon. Lets you log on to your BBS
  4442.          F3 -  cleans out old messages and packs message base.
  4443.      Alt-M -  manually poll for mail.
  4444.          Alt-X -  quit BinkleyTerm
  4445.  
  4446.           BinkleyTerm is what picks up and delivers the messages in
  4447.      the conferences you participate in or share.  BinkleyTerm is
  4448.      designed to call if there are some new messages (or mail) to
  4449.      be sent.  When it does, it will also receive any mail waiting
  4450.      to be picked up.  If there is no mail to go out, you will
  4451.      need to "poll" for it.
  4452.           How you want to do polling depends on you.  It can be
  4453.      configured so that the system will call repeatedly until it
  4454.      gets through.  The best way to design this for business
  4455.      systems may be to setup for automatic polling during a
  4456.      nightly event (1-4am).
  4457.           Incoming mail is often sent in compressed form.  It is
  4458.      usually faster to uncompress mail that it is to get it
  4459.      uncompressed, and takes up less space on the holding system.
  4460.      Normally, Binkley exits to unpack mail anytime it receives
  4461.      any.  If you're not sure this was done, F1 will do it.
  4462.          Your own BBS access is provided by pressing F2 from
  4463.      Binkley in this setup.  If you want to start the point
  4464.      operation with local logon as the first option, you can also
  4465.      specify this on the command line.  In this case,
  4466.           POINT localbbs
  4467.      will start with the BBS and then load Binkley after you
  4468.      logoff.
  4469.  
  4470.      ECHO OFF
  4471.      C:
  4472.      CD\POINT
  4473.      PATH > REPATH.BAT
  4474.      PATH=C:\POINT\BIN\;%PATH%
  4475.      IF NOT %1.==. GOTO %1
  4476.      :START
  4477.         SHIFT
  4478.         IF NOT %1.==. GOTO %1
  4479.         CD\POINT\BT
  4480.         BT share
  4481.      :PROCESS
  4482.         IF ERRORLEVEL 254 ECHO ERROR  ADDRESS NOT FOUND
  4483.         IF ERRORLEVEL 210 GOTO OUT
  4484.         IF ERRORLEVEL 31 GOTO START
  4485.  
  4486.                                  ┌──────┐
  4487.                                  │  90  │
  4488.                                  └──────┘
  4489.         IF ERRORLEVEL 30 GOTO CLEAN
  4490.         IF ERRORLEVEL 20 GOTO LOCALBBS
  4491.         IF ERRORLEVEL 10 GOTO UNPACKMAIL
  4492.         IF ERRORLEVEL 1 GOTO OUT
  4493.         GOTO START
  4494.  
  4495.      :LOCALBBS
  4496.         cd\POINT\SW
  4497.         SwiftBBS -loa
  4498.      :After
  4499.         IF ERRORLEVEL 5 GOTO NET&ECHO
  4500.         IF ERRORLEVEL 4 GOTO ECHO_ONLY
  4501.         IF ERRORLEVEL 3 GOTO NET_ONLY
  4502.         GOTO START
  4503.  
  4504.      :NET&ECHO
  4505.         cd\POINT\SW
  4506.         Swifecho -e
  4507.  
  4508.      :NET_ONLY
  4509.         cd\POINT\SW
  4510.         Swifecho -n
  4511.         CD\POINT\BT
  4512.         oMMM -sA -a
  4513.         GOTO START
  4514.  
  4515.      :ECHO_ONLY
  4516.         cd\POINT\SW
  4517.         Swifecho -e
  4518.         CD\POINT\BT
  4519.         oMMM -sA -a
  4520.         GOTO START
  4521.  
  4522.      :UNPACKMAIL
  4523.             CD\POINT\FILES
  4524.             spaz -F C:\POINT\FILES\
  4525.             CD\POINT\SW
  4526.             Swifecho -u -iarrivals
  4527.         Swiflink -awk -larrivals
  4528.         Swifecho -m
  4529.         DEL ARRIVALS
  4530.             goto START
  4531.  
  4532.          :CLEAN
  4533.             CD\POINT\SW
  4534.         Swifpack -awk
  4535.         Swiflink -awk
  4536.             goto START
  4537.  
  4538.          :OUT
  4539.             CD\POINT
  4540.             REPATH
  4541.             ECHO The Point Board is . . . DOWN
  4542.  
  4543.                     ┌────────────────────┬──────┐
  4544.                     │  Sample BBS setup  │  91  │
  4545.                     └────────────────────┴──────┘
  4546.  
  4547.  
  4548.  
  4549.      Addresses
  4550.           Unless you intend to operate as a mult-networks BBS
  4551.      system, you will only need to use your main node address.
  4552.         In SWIFCNFG's configuration screen 2, specify your
  4553.      pointnet number (z:fffff/pp.0) as the main node address, and
  4554.      in SWIFCNFG's message area specifications, specify 0 as the
  4555.      Aka to use for all your message boards.
  4556.  
  4557.         In the control file for SWIFECHO, specify this same node
  4558.      address, again not including the zone or point.
  4559.         Node  3888/n
  4560.  
  4561.      Since current versions of SWIFECHO will not forward, all
  4562.      mail originates or terminates on your system.
  4563.  
  4564.  
  4565.  
  4566.               --  binkley  --
  4567.  
  4568.           For BBS operation, you should specify your main node
  4569.      address in Binkley.cfg, and not specify PrivateNet as was
  4570.      done before.
  4571.  
  4572.      BINKLEY.CFG
  4573.         Address 1:3888/n.0
  4574.         QuickNodelist
  4575.         Nodelist C:\BBS\SW
  4576.         BBS exit
  4577.  
  4578.           Since the BBS system will be left on-line, you should
  4579.      automate message-base packing.  This has been implemented
  4580.      below by adding an event to exit with ERRORLEVEL 30 at
  4581.      midnight.  You may also want to use additional events, but
  4582.      that will not be discussed since.  Consult your documentation
  4583.      for oMMM and BinkleyTerm for more information on interfacing
  4584.      these two programs.
  4585.  
  4586.  
  4587.  
  4588.  
  4589.  
  4590.  
  4591.  
  4592.  
  4593.  
  4594.  
  4595.  
  4596.  
  4597.  
  4598.  
  4599.  
  4600.                                  ┌──────┐
  4601.                                  │  92  │
  4602.                                  └──────┘
  4603.  
  4604.      BINKLEY.EVT
  4605.         Event All 00:00 00:00    F    E1=30       ;
  4606.         Event All 00:00 24:00         E1=10  E2=10;
  4607.  
  4608.  
  4609.  
  4610.  
  4611.                    --  ommm  --
  4612.  
  4613.           The only changes needed here include changing the path
  4614.      from POINT to BBS.
  4615.  
  4616.  
  4617.  
  4618.         messagepath     C:\BBS\MAIL
  4619.         holdpath        C:\BBS\OUTBOUND
  4620.         routefile       C:\BBS\BT\OMMM.CTL
  4621.  
  4622.  
  4623.  
  4624.  
  4625.             --  parselst/nodelists  --
  4626.  
  4627.         The nodelist for BBS systems in a network is provided by
  4628.      the Network Hosts. Use the same information in the control
  4629.      file.
  4630.  
  4631.  
  4632.             --  batch file(s)  --
  4633.  
  4634.         The following is a batch file for simple BBS operation.
  4635.      In addition to the following operations, BinkleyTerm will
  4636.      exit when users call the system.
  4637.  
  4638.      F1 -  unpacks incoming mail. (usually done automatically)
  4639.      F2 -  local logon. Lets you log on to your BBS
  4640.      F3 -  cleans out old messages and packs message base.
  4641.      Alt-M -  manually poll for mail.
  4642.      Alt-X -  quit BinkleyTerm
  4643.  
  4644.      FrontDoor note: Swifecho does provide limited support for
  4645.      FrontDoor outbound.  To specify FD exporting of mail (Packets
  4646.      with File attach), use the -F option with -e or -n.  Omit the
  4647.      lines referring to oMMM, and adjust the pathnames according
  4648.      to your setup.
  4649.  
  4650.  
  4651.  
  4652.  
  4653.  
  4654.  
  4655.  
  4656.  
  4657.                                  ┌──────┐
  4658.                                  │  93  │
  4659.                                  └──────┘
  4660.  
  4661.      ECHO OFF
  4662.      C:
  4663.      CD\BBS
  4664.      PATH > REPATH.BAT
  4665.      PATH=C:\BBS\BIN\;%PATH%
  4666.      IF NOT %1.==. GOTO %1
  4667.      :START
  4668.         CD\BBS\BT
  4669.         BT share
  4670.      :PROCESS
  4671.         IF ERRORLEVEL 254 ECHO ERROR  ADDRESS NOT FOUND
  4672.         IF ERRORLEVEL 210 GOTO OUT
  4673.         IF ERRORLEVEL 31 GOTO START
  4674.         IF ERRORLEVEL 30 GOTO CLEAN
  4675.         IF ERRORLEVEL 24 GOTO REMOTE
  4676.         IF ERRORLEVEL 20 GOTO LOCALBBS
  4677.         IF ERRORLEVEL 12 GOTO REMOTE
  4678.         IF ERRORLEVEL 10 GOTO UNPACKMAIL
  4679.         IF ERRORLEVEL 3 GOTO REMOTE
  4680.         IF ERRORLEVEL 1 GOTO OUT
  4681.         GOTO START
  4682.  
  4683.      :LOCALBBS
  4684.         cd\POINT\SW
  4685.         SwiftBBS -loav
  4686.         Goto After
  4687.  
  4688.      :UNPACKMAIL
  4689.         CD\POINT\FILES
  4690.         spaz -F C:\POINT\FILES\
  4691.         CD\POINT\SW
  4692.         Swifecho -u -iarrivals
  4693.         Swiflink -awk -larrivals
  4694.         Swifecho -m
  4695.  
  4696.      :REMOTE
  4697.         if ERRORLEVEL 3 SET BPS=3
  4698.         if ERRORLEVEL 12 SET BPS=12
  4699.         if ERRORLEVEL 24 SET BPS=24
  4700.         cd\POINT\SW
  4701.         echo .
  4702.         echo Now loading remote
  4703.         SwiftBBS -ob%BPS% -e0
  4704.         Rem fall through to After
  4705.  
  4706.      :After
  4707.         IF ERRORLEVEL 5 GOTO NET&ECHO
  4708.         IF ERRORLEVEL 4 GOTO ECHO_ONLY
  4709.         IF ERRORLEVEL 3 GOTO NET_ONLY
  4710.         GOTO START
  4711.  
  4712.  
  4713.  
  4714.                                  ┌──────┐
  4715.                                  │  94  │
  4716.                                  └──────┘
  4717.  
  4718.      :NET&ECHO
  4719.         cd\POINT\SW
  4720.         Swifecho -e
  4721.  
  4722.      :NET_ONLY
  4723.         cd\POINT\SW
  4724.         Swifecho -n
  4725.         CD\BBS\BT
  4726.         oMMM -sA -a
  4727.         GOTO START
  4728.  
  4729.      :ECHO_ONLY
  4730.         cd\POINT\SW
  4731.         Swifecho -e
  4732.         CD\BBS\BT
  4733.         oMMM -sA -a
  4734.         GOTO START
  4735.  
  4736.      :UNPACKMAIL
  4737.         CD\BBS\FILES
  4738.         spaz -F C:\BBS\FILES\
  4739.         CD\BBS\SW
  4740.         Swifecho -u -iarrivals
  4741.         Swiflink -awk -larrivals
  4742.         Swifecho -m
  4743.         DEL ARRIVALS
  4744.         goto START
  4745.  
  4746.      :CLEAN
  4747.         CD\BBS\SW
  4748.         Swifpack -awk
  4749.         Swiflink -awk
  4750.         goto START
  4751.  
  4752.      :OUT
  4753.         CD\BBS
  4754.         REPATH
  4755.         ECHO The Bulletin Board is . . . DOWN
  4756.  
  4757.  
  4758.  
  4759.  
  4760.  
  4761.  
  4762.  
  4763.  
  4764.  
  4765.  
  4766.  
  4767.  
  4768.  
  4769.  
  4770.  
  4771.                ┌─────────────────────────────────┐
  4772.       ┌────────────────┤  SwiftBBS menu types  . . .  96 ├──────┐
  4773.       │   Appendices   │  SwiftBBS InfoCodes . . . .  99 │  95  │
  4774.       └────────────────┤  SwiftBBS command language  102 ├──────┘
  4775.                │  Message editor interface . 110 │
  4776.                │  SwiftBBS files . . . . . . 112 │
  4777.                │  Acronyms . . . . . . . . . 117 │
  4778.                │  Smiley faces . . . . . . . 118 │
  4779.                │  Afterward  . . . . . . . . 125 │
  4780.                └─────────────────────────────────┘
  4781.  
  4782.  
  4783.           The following sections are either lists of items for
  4784.      reference, technical details for developers, or miscellaneous
  4785.      topics that haven't found a place in the main text of the
  4786.      documentation.
  4787.  
  4788.  
  4789.  
  4790.                     ┌────────────────────┬──────┐
  4791.                     │     Menu Types     │  96  │
  4792.                     └────────────────────┴──────┘
  4793.  
  4794.     Type    Description                             Optional data
  4795.     -------------------------------------------------------------------
  4796.       0 ... Text Line (Not Considered a Command) .. None
  4797.  
  4798.       1 ... Goto New Menu ......................... <Menu Name>
  4799.  
  4800.       2 ... Gosub New Menu ........................ <Menu Name>
  4801.  
  4802.       3 ... Return from Previous Gosub ............ None
  4803.  
  4804.       4 ... Clear Gosub Stack and Goto New Menu ... <Menu Name>
  4805.  
  4806.       5 ... Display .ASC/.ANS/.AVT File ........... <1-8 Char Name>
  4807.  
  4808.       6 ... Bulletin selection Menu ............... <1-7 Char Prefix>
  4809.  
  4810.       7 ... Shell and Run DOS Program/command ..... <DOS command>
  4811.         You can include information from the SwiftBBS operating
  4812.         environment by using these arguments in DOS command:
  4813.         *B  Baud Rate (300, 1200, 2400 and 0 for Local)
  4814.         *C  Path to COMSPEC (COMMAND.COM)
  4815.         *F  First Name of User
  4816.         *G  Graphics Mode (Off is 0, 1 is On)
  4817.         *H  Shell with the fossil initialized.
  4818.         *L  Last Name of User
  4819.         *R  Record Number of User for the User Database
  4820.         *T  Time Left for Call (in minutes)
  4821.  
  4822.       8 ... Version Information ................... None
  4823.  
  4824.       9 ... Logoff ................................ None
  4825.  
  4826.      11 ... Page the Sysop for Chat ............... <Page Prompt>
  4827.  
  4828.      12 ... Execute command language file ......... <1-8 Char Name>
  4829.  
  4830.      13 ... List/Search User List ................. None
  4831.  
  4832.      14 ... Time Statistics ....................... None
  4833.  
  4834.      15 ... Exit to DOS (partial support).......... <Errorlevel>
  4835.  
  4836.      16 ... Change City and State ................. None
  4837.  
  4838.      17 ... Change Password ....................... None
  4839.  
  4840.      18 ... Change Length of Screen ............... None
  4841.  
  4842.      19 ... Toggle Screen Clearing ................ None
  4843.  
  4844.      20 ... Toggle Page Pausing ................... None
  4845.  
  4846.  
  4847.                                  ┌──────┐
  4848.                                  │  97  │
  4849.                                  └──────┘
  4850.  
  4851.     Type    Description                             Optional data
  4852.     -------------------------------------------------------------------
  4853.      21 ... Toggle ANSI Graphics Mode ............. None
  4854.  
  4855.      22 ... Check for Personal Mail ............... None
  4856.  
  4857.      23 ... Read Messages ......................... <Board #>
  4858.  
  4859.      24 ... Scan Message headers .................. <Board #>
  4860.  
  4861.      25 ... Swiftscan Messages .................... <Board #>
  4862.  
  4863.      27 ... Post a New Message .................... <Board #>
  4864.  
  4865.      30 ... MS-DOS Directory ...................... <Full Path>
  4866.  
  4867.      31 ... List FILES.BBS (partial)............... <Full Path>
  4868.  
  4869.      32 ... Download a file (beta only) ........... <Full Path>
  4870.  
  4871.      33 ... Upload a file (beta only) ............. <Full Path>
  4872.  
  4873.      38 ... View a text file ...................... <Full Path>
  4874.  
  4875.      39 ... Display a Direct Text File ............ <Full FileSpec>
  4876.  
  4877.      40 ... Display ASC/ANS/AVT File w/ Hot Keys .. <1-8 Char Name>
  4878.  
  4879.      41 ... Toggle Full Screen Editor ............. None
  4880.  
  4881.      45 ... Type ASC/ANS/AVT File and Pause at End  <1-8 Char Name>
  4882.  
  4883.      47 ... Log Entry in SwiftBBS SYSTEM.LOG ...... [Entry optional]
  4884.  
  4885.                                  ┌──────┐
  4886.                                  │  98  │
  4887.                                  └──────┘
  4888.  
  4889.     Type    Description                             Optional data
  4890.     -------------------------------------------------------------------
  4891.      48 ... Toggle AVATAR Graphics Mode ........... None
  4892.  
  4893.      70 ... Edit a textfile (local only) .......... <Full Path>
  4894.  
  4895.      80 ... Queue file for download (beta only) ... <Full Path>
  4896.  
  4897.      81 ... File Request (Binkley Style) .......... None
  4898.  
  4899.      82 ... Lookup Net/Node ....................... None
  4900.  
  4901.      86 ... Opus style SETUP menu ................. None
  4902.  
  4903.      87 ... Opus style MESSAGE menu ............... None
  4904.  
  4905.      88 ... Opus style Default message menu ....... <Board #>
  4906.  
  4907.      89 ... Opus style INFO menu .................. None
  4908.  
  4909.      90 ... Opus style NETWORK menu ............... None
  4910.  
  4911.      91 ... Call/Return to Opus style MAIN menu ... None
  4912.  
  4913.      92 ... Opus style Prompt for Area Change ..... None
  4914.  
  4915.      93 ... Display List of Named Message Areas ... None
  4916.  
  4917.      94 ... Displays List of Active Message Areas . None
  4918.  
  4919.      95 ... Review User Setup ..................... None
  4920.  
  4921.      99 ... [reserved] ............................
  4922.  
  4923.      100 .. Log-on new user ....................... None
  4924.  
  4925.  
  4926.  
  4927.  
  4928.  
  4929.  
  4930.  
  4931.  
  4932.  
  4933.  
  4934.  
  4935.  
  4936.  
  4937.  
  4938.  
  4939.  
  4940.  
  4941.  
  4942.                       ┌──────────────────┬──────┐
  4943.                       │    InfoCodes     │  99  │
  4944.                       └──────────────────┴──────┘
  4945.  
  4946.           SwiftBBS will enable you to display ASC/ANS/AVT files
  4947.      with various system parameters with embedded control codes,
  4948.      I'll refer to as InfoCodes.  Each control code contains a
  4949.      preceding control character and an alphabetic character.  At
  4950.      present the control characters that enable this include
  4951.      Ctrl-F and Ctrl-K.  When using control codes, take
  4952.      precautions to avoid problems with communications
  4953.      software/hardware that use other control codes.
  4954.  
  4955.           The following table shows the control codes currently
  4956.      supported.  Control codes not supported will normally be
  4957.      ignored.
  4958.  
  4959.  
  4960.     Control - K text display codes
  4961.     -------------------------------------------------------------------
  4962.      A ... System's total number of callers
  4963.  
  4964.      B ... System's last caller
  4965.  
  4966.      C ... Total active messages on system
  4967.  
  4968.      D ... Lowest message number on system
  4969.  
  4970.      E ... Highest message number on system
  4971.  
  4972.      F ... Times user paged
  4973.  
  4974.      G ... Day of the Week
  4975.  
  4976.      H ... Number of users on system
  4977.  
  4978.      I ... Current system time
  4979.  
  4980.      J ... Present system date
  4981.  
  4982.      K ... Minutes connected on current call
  4983.  
  4984.      L ... Seconds connected on current call
  4985.  
  4986.      M ... Minutes used today
  4987.  
  4988.      N ... Seconds used today
  4989.  
  4990.      O ... Minutes left on system
  4991.  
  4992.      P ... Seconds left on system
  4993.  
  4994.      Q ... User's Time limit
  4995.  
  4996.      R ... Current baud rate
  4997.  
  4998.  
  4999.                                 ┌───────┐
  5000.                                 │  100  │
  5001.                                 └───────┘
  5002.  
  5003.     Control - F text display codes
  5004.     -------------------------------------------------------------------
  5005.      A ... User's full name
  5006.  
  5007.      B ... User's City, State
  5008.  
  5009.      C ... User's password
  5010.  
  5011.      D ... User's data phone number
  5012.  
  5013.      E ... User's home phone number
  5014.  
  5015.      F ... User's last date on system
  5016.  
  5017.      G ... User's last time on system
  5018.  
  5019.      H ... User's A flags in the format [X---X-XX]
  5020.  
  5021.      I ... User's B flags in the format [X---X-XX]
  5022.  
  5023.      J ... User's C flags in the format [X---X-XX]
  5024.  
  5025.      K ... User's D flags in the format [X---X-XX]
  5026.  
  5027.      L ... User's Netmail credit in cents
  5028.  
  5029.      M ... Number of message(s) user has posted
  5030.  
  5031.      N ... User's highest message read
  5032.  
  5033.      O ... User's security level
  5034.  
  5035.      P ... Number of times user has called this system
  5036.  
  5037.      Q ... Number of uploads from user
  5038.  
  5039.      R ... User's uploads in Kbytes
  5040.  
  5041.      S ... Number of downloads from user
  5042.  
  5043.      T ... User's downloads in Kbytes
  5044.  
  5045.      U ... Minutes user has been on system this date
  5046.  
  5047.      V ... User's selected screen length
  5048.  
  5049.      W ... User's first name
  5050.  
  5051.  
  5052.  
  5053.  
  5054.  
  5055.  
  5056.                                 ┌───────┐
  5057.                                 │  101  │
  5058.                                 └───────┘
  5059.  
  5060.     Control - F text display codes (con.)
  5061.     -------------------------------------------------------------------
  5062.  
  5063.      X ... User's ANSI setting (Y/N)
  5064.  
  5065.      Y ... User's More setting (Y/N)
  5066.  
  5067.      Z ... User's Screen Clear setting (Y/N)
  5068.  
  5069.      1 ... User's Full-scrn editor setting (Y/N)
  5070.  
  5071.      2 ... User's AVATAR setting (Y/N)
  5072.  
  5073.  
  5074.  
  5075.                      ┌──────────────────┬───────┐
  5076.                      │ Command language │  102  │
  5077.                      └──────────────────┴───────┘
  5078.  
  5079.  
  5080.      SwiftBBS command language (type 12) ...
  5081.           A SwiftBBS questionnaire file is specified by specifying
  5082.      the question file in the data area.  The created file must
  5083.      end with a .Q-A extension, and contain commands as specified
  5084.      in the language below.  Answers can be output (appended) to
  5085.      an answer file with the .ASW extension.
  5086.  
  5087.  
  5088.                  LIMITATIONS
  5089.  
  5090.      Maximum number of variables: 32
  5091.      Maximum length of each questionnaire line: 128
  5092.      Maximum length of each questionnaire keyword: 80
  5093.      Maximum length of information for each line: 80
  5094.      Maximum length of variables: based on memory available
  5095.      Maximum number of nested Ifs: 10 or less based on memory
  5096.  
  5097.      The length of variables is "declared" during it's first
  5098.      use. The variable may be used later, but the length remains
  5099.      the same.
  5100.  
  5101.                 FORMAT
  5102.  
  5103.           All commands must appear on separate lines, though they
  5104.      may be indented with spaces.  The amount of space between
  5105.      parameters is also relatively insignificant.
  5106.  
  5107.          While it is being encouraged to maintain the
  5108.      capitalization of Keywords and variables, Keyword matching
  5109.      and variables are not case sensitive.  PostInfo and POSTINFO
  5110.      have the same effect within SwiftBBS command language files.
  5111.      Likewise, Var1, VAR1, and var1 will all refer to the same
  5112.      variable.
  5113.  
  5114.  
  5115.                 RESERVED WORDS
  5116.  
  5117.           Two types of reserved words are included.  Keywords are
  5118.      used to give commands to the program.  Other keywords are
  5119.      internal variables, that may be displayed or written to
  5120.      file.  You cannot change the values contained in these
  5121.      variables.The current internals are:
  5122.  
  5123.      User     =   The currently logged user.
  5124.      System   =   The SwiftBBS system name in Config.bbs.
  5125.      Sysop    =   The SwiftBBS sysop name in Config.bbs.
  5126.      Security =   The currently logged user's security in
  5127.               character format, i.e. "2000"
  5128.      Ansi     =   "YES" or "NO" based on the user's ansi
  5129.               specification
  5130.  
  5131.  
  5132.                                 ┌───────┐
  5133.                                 │  103  │
  5134.                                 └───────┘
  5135.  
  5136.           Formatting and display control codes can be generated by
  5137.      using the following variables:
  5138.  
  5139.      Beep     =   The ascii character 0x7, BEL.
  5140.      Tab      =   The ascii character 0x9, HT.
  5141.      NewLine  =   The ascii character 0xa, LF or linefeed.  In text
  5142.               files, this may be expanded to carriage
  5143.               return/linefeed.
  5144.      NewPage  =   The ascii character 0xc, FF or formfeed.
  5145.  
  5146.  
  5147.                    KEYWORDS
  5148.  
  5149.           Below are the keywords used in the current questionaire
  5150.      language, along with the required parameters. They are
  5151.      divided into sections based on simplification of use and
  5152.      function.
  5153.           Information in angle < > brackets should be replaced with
  5154.      the specified name, size or string. Information in square
  5155.      brackets [ ] is optional.
  5156.  
  5157.  
  5158.              Basic Questionnaire Options
  5159.              ----- ------------- -------
  5160.            Questionnarie Options may record some answers in an
  5161.      .ASW answer file.  All answer file output is terminated with
  5162.      a carriage return.  Output to screen and the option binary
  5163.      file is not terminated with carriage returns.  To insert a
  5164.      carriage return, include the character "|" inside the
  5165.      quotes.
  5166.  
  5167.      PostInfo
  5168.           Writes the user's name, date, and time to the answer
  5169.           file.  This function also sets the variable "User" to
  5170.           indicate the current user's name, Sets the variable
  5171.           "Ansi", and adds an entry to the System logfile.  This
  5172.           is normally used in the first line of a questionnaire
  5173.           and may serve as a delimiter in the answer file.
  5174.  
  5175.      ClearScreen
  5176.           Clears the users screen if screen clearing is active.
  5177.           This is useful for avoiding confusion between the
  5178.           questionnaire and menu options.
  5179.  
  5180.      ChangeColor <fg> <bg>
  5181.           Changes the colors of screen output (if color is
  5182.           enabled), to use the new foreground (fg) and
  5183.           background (bg) colors. This is only done if the
  5184.           user's configuration has enabled a color display mode
  5185.           such as ANSI or AVATAR.
  5186.  
  5187.            ChangeColor 4 0
  5188.  
  5189.                                 ┌───────┐
  5190.                                 │  104  │
  5191.                                 └───────┘
  5192.  
  5193.  
  5194.      SetFlag <set/num> [ON|OFF]
  5195.           This is used to set a user's particular flag on or off.
  5196.           If ON or OFF is not specified, ON is the default.  This
  5197.           is useful either as a switch when the questionnaire is
  5198.           answered, or may be used within a conditional statement,
  5199.           i.e.  between IF and ENDIF lines.  There are four sets
  5200.           of flags in SwiftBBS.  Each flag is identified by a
  5201.           <set> letter, A to D, and a number <num> 1 to 8.
  5202.  
  5203.            SetFlag C5 ON
  5204.  
  5205.      SetSecurity <seclvl>
  5206.           This is used to set the user's security level.  Valid
  5207.           security levels are from 1 to 32000.  Security may also
  5208.           be conditional upon some other information obtained.  A
  5209.           password command (see below) may also be used to check
  5210.           access levels.
  5211.  
  5212.            SetSecurity 100
  5213.  
  5214.      Remark [remarks and reminders]
  5215.           In this version, Remark is unnecessary since all
  5216.           unrecognized keywords are considered remarks or
  5217.           comments.  In the future, unrecognized keywords may
  5218.           generate error messages, so using Remark is recommended.
  5219.  
  5220.            Remark This block is used for sysops.
  5221.  
  5222.      AnyKey
  5223.           Prompts for and waits for the user to press a key
  5224.           before continuing.
  5225.  
  5226.      Quit
  5227.           This quits the questionnaire at this point, and closes
  5228.           active questionnaire files.  Since the questionnaire
  5229.           terminates naturally at the end of the file, this may
  5230.           only be needed within conditional blocks, but it is
  5231.           recommended.  Extensive comments, however, may follow
  5232.           this statement if desired.
  5233.  
  5234.                Variable Options
  5235.                -------- -------
  5236.           SwiftBBS variables are set up dynamically, that is,
  5237.      space is set aside as each variable is initially declared or
  5238.      used.
  5239.           In contrast, QuickBBS sets aside 255 bytes for each
  5240.      variable.  To simulate QuickBBS operation, you can declare
  5241.      the variables with the Variable statement.  For example,
  5242.      Variable 255 Var2 will allocate 255 bytes for the variable
  5243.      Var2.
  5244.  
  5245.  
  5246.                                 ┌───────┐
  5247.                                 │  105  │
  5248.                                 └───────┘
  5249.  
  5250.           SwiftBBS variables are also character based, while
  5251.      QuickBBS variables must be numerical.  If you wish to
  5252.      maintain compatibility, SwiftBBS will recognize numberical
  5253.      variables but they will still be used as character strings.
  5254.  
  5255.  
  5256.      Variable <count> <variable>
  5257.           Sets aside <count> bytes for the variable <variable>.
  5258.           This variable may be used to read data from disk, or the
  5259.           user's keyboard.  If subsequent uses of this variable
  5260.           change the length, the shorter of the two lengths is
  5261.           used for input.
  5262.  
  5263.            Variable 36 Name
  5264.  
  5265.      Let <variable> = "<string>"
  5266.           Assigns the characters in <string> to <variable> up to
  5267.           the length of variable. If <variable> doesn't exist,
  5268.           it will be created and assigned the length of <string>.
  5269.  
  5270.            Variable 12 Month
  5271.            Let Month = "January"
  5272.  
  5273.      Display ["<string>"] [variable]
  5274.           Displays the optional string between quotes, and an
  5275.           optional variable.
  5276.  
  5277.            Display "Welcome to my board" Name
  5278.  
  5279.      TabDisplay <count> <variable>
  5280.           Displays the variable <variable> in a left justified
  5281.           field of <count> length.  This is needed for practical
  5282.           displays in a tabular format.  The field is
  5283.           space-filled, and the <count> can be any practical
  5284.           amount.
  5285.  
  5286.            TabDisplay 25 Location
  5287.  
  5288.      Ask <count> <variable>
  5289.           Reads up to <count> characters from the user and saves it in
  5290.           the variable <variable>.  If the count specified is
  5291.           greater than a previously declared amount, the shorter
  5292.           of the two is used.  This option generates a carriage
  5293.           return following entry.
  5294.  
  5295.            Ask 30 Name
  5296.  
  5297.  
  5298.  
  5299.  
  5300.  
  5301.  
  5302.  
  5303.                                 ┌───────┐
  5304.                                 │  106  │
  5305.                                 └───────┘
  5306.  
  5307.  
  5308.      GetChoice <opts> <variable>
  5309.           Accepts a single key that must be included in the set
  5310.           <opts>, and assigns it to the variable <variable>.  This
  5311.           option generates a carriage return following entry.
  5312.           This is particularly useful with yes/no responses.
  5313.  
  5314.            GetChoice YN Reply
  5315.  
  5316.      OutputAnswer ["<string>"] [variable]
  5317.           Writes the string between quotes, and an optional
  5318.           variable to the answer file.  The output string is
  5319.           automatically terminated with a carriage return.
  5320.  
  5321.            OutputAnswer "User's name is " Name
  5322.  
  5323.      Password <count?> <variable>      max length is 15
  5324.           Accepts up to <count?> bytes and stores it in the
  5325.           variable <variable>.  The input characters are not
  5326.           played back during input.
  5327.  
  5328.  
  5329.              Conditional Options
  5330.              ----------- -------
  5331.  
  5332.          This may be one of the most useful parts of the language,
  5333.      as it controls execution of subsequent commands based on the
  5334.      user's responses.
  5335.          Nested Ifs are also supported in SwiftBBS.  Nesting is
  5336.      the process of using If/Endif blocks within other If/Endif
  5337.      blocks.  Each If corresponds to nearest unmatched Endif.
  5338.  
  5339.      If <variable> = "<string>"
  5340.           Compares the variable with the string <string>.  If the
  5341.           two match, all statements between this and the
  5342.           corresponding Endif are executed.  Otherwise, the
  5343.           statements between If and Endif are skipped.
  5344.  
  5345.            If Password = "Nottingham"
  5346.             SetSecurity 100
  5347.            Endif
  5348.  
  5349.      Endif
  5350.           Ends the block of conditional statements.
  5351.  
  5352.  
  5353.  
  5354.  
  5355.  
  5356.  
  5357.  
  5358.  
  5359.  
  5360.                     ┌────────────────────┬──────┐
  5361.                     │   WRITTEN IN SAND  │  107 │
  5362.                     └────────────────────┴──────┘
  5363.  
  5364.  
  5365.           The following options are written in sand...  That is,
  5366.      as they are very new, changes are possible in support,
  5367.      syntax, or use.  If you find these options useful for your
  5368.      purposes, please indicate what other options you would
  5369.      prefer, extensions of support or syntax, and/or standards to
  5370.      consider following.
  5371.  
  5372.               Repetition Options
  5373.               ---------- -------
  5374.  
  5375.          Repetition along with the Database Options following
  5376.      allow manipulation, recording, and display of information in
  5377.      database files. This is an elementary introduction to repeat
  5378.      processing.
  5379.  
  5380.      Repeat <count> [remarks]
  5381.           Repeat/EndRepeat operates in the same way as If/Endif
  5382.           blocks. All statements in between are repeated <count>
  5383.           times. The count <count> is decremented when an
  5384.           EndRepeat is reached. Nested Repeats are not supported.
  5385.  
  5386.            Repeat 10 times
  5387.  
  5388.      EndRepeat
  5389.           This statement terminates a Repeat block and continues
  5390.           execution to the next statement in the questionnaire.
  5391.  
  5392.      BreakRepeat
  5393.           Using this statement, it's possible to break out of a
  5394.           Repeat loop.  Execution continues at the next statement
  5395.           following EndRepeat.
  5396.  
  5397.            If Continue = "N"
  5398.             BreakRepeat
  5399.            Endif
  5400.  
  5401.  
  5402.                Database Options
  5403.                -------- -------
  5404.  
  5405.           The database "binary" file input/output options use two
  5406.      questionnaire specified files.  The files are opened with
  5407.      either GetFile (read) or MakeFile (create/append).  Read and
  5408.      SkipBytes operate on the input file, while write operates on
  5409.      the output file.  There is currently no checking for
  5410.      alignment of records in the files.  Like the answer file, all
  5411.      files are closed when exiting the questionnaire.
  5412.           For the programmer types, these additional types allow
  5413.      a wide range of possibilities for "programming" your own
  5414.      SwiftBBS system and reading/writing your own configuration
  5415.      files, nodelist, etc.
  5416.  
  5417.                                  ┌──────┐
  5418.                                  │  108 │
  5419.                                  └──────┘
  5420.  
  5421.      NewFile <filename>
  5422.           This option creates a new file <filename> and allows you
  5423.           to write data to the file with the Write function.  If
  5424.           the file already exists, it will be deleted prior to
  5425.           creation.  Each time this command is used, the
  5426.           previously specified output file (via NewFile or
  5427.           AppendFile) is closed prior to opening a new file.
  5428.  
  5429.            NewFile Answers.dat
  5430.  
  5431.      AppendFile <filename>
  5432.           This option is the same as NewFile, except the file will
  5433.           not be deleted prior to opening.  AppendFile creates the
  5434.           file <filename> if not existant.  All subsequent Write
  5435.           statements will append other information (via variables)
  5436.           to the file.  This is the same option as MakeFile
  5437.           <filename> which will continue to function in this
  5438.           version.  Each time this command is used, the previously
  5439.           specified output file (via NewFile or AppendFile) is
  5440.           closed prior to opening a new file.
  5441.  
  5442.            AppendFile Notes.dat
  5443.  
  5444.      GetFile <filename>
  5445.           This opens a file for input.  This may be the same
  5446.           filename as used in NewFile or AppendFile.  You can
  5447.           either read information or skip over fields.  By using
  5448.           Repeat/EndRepeat you can also simulate reading of
  5449.           structures.  Each time this command is used, the
  5450.           previously specified output file (via NewFile or
  5451.           AppendFile) is closed prior to opening a new file.
  5452.  
  5453.            GetFile Notes.dat
  5454.  
  5455.      Read <variable>
  5456.           Reads the variable <variable> from the input file.  The
  5457.           number of bytes read is the declared size of the
  5458.           variable. If the variable doesn't exist, the input
  5459.           file is not read.
  5460.          Note: Until other commands and options are available,
  5461.           if the variable cannot be read from the input file
  5462.           (i.e.  end of file), the repeatcount is set to zero and
  5463.           the current Repeat/EndRepeat loop is exited.
  5464.  
  5465.            Read Name
  5466.  
  5467.      Write <variable>
  5468.           Writes the variable <variable> to the output file.  The
  5469.           declared size of the variable is the number of bytes
  5470.           written.
  5471.  
  5472.            Write Name
  5473.  
  5474.                                  ┌──────┐
  5475.                                  │  109 │
  5476.                                  └──────┘
  5477.      ReadNum <variable>
  5478.           Reads the number from the input file and converts it to
  5479.           a string in the variable <variable>.  The number is read
  5480.           from the next 2 bytes in the input file.  If the
  5481.           variable doesn't exist, the input file is not read.
  5482.  
  5483.            ReadNum SecLevel
  5484.  
  5485.      WriteNum <variable>
  5486.           Converts the variable to a number and writes it to the
  5487.           next 2 bytes in the output file.
  5488.          Note: Non-numerical strings are always converted to
  5489.           the value 0.
  5490.  
  5491.            WriteNum SecLevel
  5492.  
  5493.      SkipBytes <bytes>
  5494.           Skips over <bytes> characters in the input file.
  5495.  
  5496.            SkipBytes 36
  5497.  
  5498.  
  5499.                Special Options
  5500.                ------- -------
  5501.  
  5502.      DoType <num> <string>
  5503.           DoType calls the menu type number <num> using the rest
  5504.           of the string as the optional data.  Caution must be
  5505.           used to avoid overloading the stack or generating a
  5506.           recursive operation.
  5507.  
  5508.            DoType 6 ACCESS
  5509.  
  5510.  
  5511.      Text
  5512.           The Text keyword indicates that all lines following are
  5513.           to be displayed literally, up to the next BreakText or
  5514.           EndText keyword.  This will allow you to format the text
  5515.           more freely.
  5516.  
  5517.  
  5518.      BreakText
  5519.           This keyword instructs the questionnaire to skip all
  5520.           lines up to the next EndText keyword.  This may also be
  5521.           used to include a block of comments.
  5522.  
  5523.  
  5524.      EndText
  5525.           This keyword signals the end of a Text block for Text
  5526.           and BreakText commands, and is otherwise ignored.
  5527.  
  5528.  
  5529.  
  5530.  
  5531.                  ┌───────────────────────────┬──────┐
  5532.                  │  Message editor interface │  110 │
  5533.                  └───────────────────────────┴──────┘
  5534.  
  5535.  
  5536.           SwiftBBS uses an external editor interface similar and
  5537.      compatible with QuickBBS.  This is so that editors written
  5538.      for QuickBBS will work within SwiftBBS.  SwiftBBS also makes
  5539.      it possible to use other editors at the local console.  For
  5540.      local text editors not returning appropriate error codes, it
  5541.      may be necessary to delete the work file in order to abort a
  5542.      message.  The work file for the editor is MSGTMP.
  5543.  
  5544.           In supporting the quoting of reply text, SwiftBBS writes
  5545.      the quoted text to the file MSGTMP.  The quoted lines will be
  5546.      prefixed with the quoting initials specified in the
  5547.      configuration file.  Preferred editors will allow you to
  5548.      quote lines from this file into your message.  Other editors
  5549.      may have the quote lines dumped into the message.  When using
  5550.      the latter editors you will need to delete quote lines not
  5551.      needed.
  5552.  
  5553.           The command-line used to access the external editor is:
  5554.        <editor> <commport> <baudrate> <time_limit> <inactive>
  5555.  
  5556.           All of these parameters are automatically accessed from
  5557.      the operating environment or the configuration file.
  5558.       <editor> = editor specified in the configuration file.
  5559.       <commport> = COM port specified in the configuration file.
  5560.       <baudrate> = baud rate in use by the current caller.
  5561.       <time_limit> = current caller's time left on the system.
  5562.       <inactive> = time limit for inactivity from the caller.
  5563.  
  5564.           When returning to SwiftBBS from the editor, the file
  5565.      MSGTMP is imported into SwiftBBS as a message, and then
  5566.      deleted.  If nobody is on-line when returning to SwiftBBS,
  5567.      the file (& message) is deleted.  If the message doesn't have
  5568.      more than 5 characters, it is also deleted.  The editor's
  5569.      return code (errorlevel) also indicates other activities
  5570.      taken.  An errorlevel of 1 indicates the user aborted the
  5571.      message.  Errorlevel 2 indicates that there was an inactivity
  5572.      timeout.  In both cases, the message is deleted.  An
  5573.      errorlevel of 0 indicates that message editing was
  5574.      successful.
  5575.  
  5576.           The SwiftBBS format for the local console varies from
  5577.      this QuickBBS standard by substituting "MSGTMP" for the
  5578.      commport.  In QuickED the attempted conversion of this string
  5579.      to a number results appropriately in a number 0.  This change
  5580.      enables you to use editors that expect a filename as the
  5581.      first or only option.  The time limit from the local console
  5582.      also varies by using 60 minutes in local mode.
  5583.  
  5584.           The message editor to use in a particular session can
  5585.      also be specified on the command-line with the -w option.
  5586.  
  5587.  
  5588.                  ┌───────────────────────────┬──────┐
  5589.                  │    Message editor notes   │  111 │
  5590.                  └───────────────────────────┴──────┘
  5591.  
  5592.  
  5593.  
  5594.  
  5595.  
  5596.  
  5597.  
  5598.  
  5599.  
  5600.  
  5601.  
  5602.  
  5603.  
  5604.  
  5605.  
  5606.  
  5607.                     ┌────────────────────┬──────┐
  5608.                     │   SwiftBBS files   │  112 │
  5609.                     └────────────────────┴──────┘
  5610.  
  5611.  
  5612.           SwiftBBS starts out small but can grow very quickly with
  5613.      echomail.  The message base itself can quickly grow to
  5614.      several megs.  In order to better maintain your system you
  5615.      may want to regularly delete some un-needed files.  This list
  5616.      will help you determine what you can safely kill.
  5617.  
  5618.           The files used or created by SwiftBBS programs will vary
  5619.      with the version of the programs.  Future versions may allow
  5620.      you to bypass creation of some backup files.  This is a
  5621.      general list of the filenaming convention of SwiftBBS files,
  5622.      listed by category.
  5623.  
  5624.                 PROGRAM FILES
  5625.  
  5626.           Executable files ...  Most program files will have the
  5627.      *.EXE extension.  This is what comes with the program
  5628.      package.  The program files in 0.25 include SWIFTBBS.EXE,
  5629.      SWIFLINK.EXE, SWIFECHO.EXE, SWIFDUMP.EXE, SWIFPACK.EXE and
  5630.      SWIFCNFG.EXE.
  5631.  
  5632.           Documentation files ...  The key documentation file
  5633.      SWIFTBBS.DOC is the only other file included in normal
  5634.      releases of the SWIFTBBS program.
  5635.  
  5636.           Data files ...  The files MSG*.BBS are the messagebase
  5637.      data files.  The five include MSGINFO.BBS, MSGTXT.BBS,
  5638.      MSGHDR.BBS, MSGTOIDX.BBS, and MSGIDX.BBS.  User records are
  5639.      maintained in the USERS.BBS and LASTREAD.BBS files.  Mail
  5640.      import/export files include ECHOMAIL.BBS and NETMAIL.BBS.
  5641.      All of these files are maintained by SwiftBBS programs.
  5642.  
  5643.  
  5644.           Working files ...  Some files created for use by
  5645.      SwiftBBS programs are temporary, and automatically deleted
  5646.      after successful completion of a program.  If you see any of
  5647.      these files, it's an indication of an incomplete program
  5648.      execution, or something's wrong.  These include Data files
  5649.      (listed above) with a *.UPD extension, and MSGHDR.LNK.
  5650.           Backup files ...  If this is a beta version, there are
  5651.      quite a number of backup files.  While it's very rare that
  5652.      I've needed to recover data with these backup files, they're
  5653.      there to help smooth testing, and as a means of salvaging
  5654.      some of the files.  Backup files are created with a *.1ST
  5655.      or *.BAK extension.  These include LASTREAD.BAK, USERS.BAK,
  5656.      CONFIG.BAK, AREAS.BAK, AREAS.1ST, ECHOORIG.BAK, ECHOORIG.1ST,
  5657.      MSG*.BAK,
  5658.  
  5659.  
  5660.  
  5661.  
  5662.  
  5663.  
  5664.                                  ┌──────┐
  5665.                                  │  113 │
  5666.                                  └──────┘
  5667.  
  5668.                 CONTROL FILES
  5669.  
  5670.           Control files ...  The key control file for SwiftBBS is
  5671.      CONFIG.BBS.  SwiftBBS will not operate without a valid
  5672.      configuration.  This file is created by SWIFCNFG.  Other
  5673.      control files can be created with a text editor, and include
  5674.      AREAS.BBS, ECHOORIG.CTL, SWIFECHO.CTL, and KILLSTAT.BBS.
  5675.  
  5676.  
  5677.  
  5678.                 DISPLAY FILES
  5679.  
  5680.           Display files ... Some of the basic display files used
  5681.      in SwiftBBS include LOGO.ASC, WELCOME.A*, GOODBYE.A*. (see
  5682.      also User's View)
  5683.           Standard logon display files are displayed in the order
  5684.      indicated, or at various prompts or options.
  5685.                                 Selectable
  5686.     Filename     Description                         InfoCodes display
  5687.     ------------------------------------------------------------------
  5688.     LOGO.ASC     Displayed prior to logon                NO       NO
  5689.  
  5690.     NOTFOUND.ASC Displayed if the user was not found
  5691.  
  5692.     NEWUSER1.A?? Displayed to new users before logon
  5693.  
  5694.     PASSWORD.A?? Displayed before entering new password
  5695.  
  5696.     NEWUSER2.A?? Displayed to new users after logon
  5697.  
  5698.     WELCOME.A??  Displayed following logon              YES      YES
  5699.  
  5700.     SEC<##>.A??  Displayed to users with ## security
  5701.  
  5702.     NEWS.A??     Displayed to all users after logon
  5703.  
  5704.     GOODBYE.A??  Displayed following logoff             YES      YES
  5705.  
  5706.     ABOUT.A??    Displayed as option for About...
  5707.  
  5708.  
  5709.  
  5710.  
  5711.  
  5712.  
  5713.  
  5714.  
  5715.  
  5716.  
  5717.  
  5718.  
  5719.  
  5720.  
  5721.                                  ┌──────┐
  5722.                                  │  114 │
  5723.                                  └──────┘
  5724.  
  5725.                   HELP FILES
  5726.  
  5727.  
  5728.           Help files ...  Additional display files include several
  5729.      sets of help files, all with the A* extensions.
  5730.           Each opus-style menu bar contains a ?)Help option.  The
  5731.      help files are often included with the release, but may be
  5732.      created or edited by the sysop.  These files include
  5733.      OPUSMAIN.A??, OPUSMAIL.A??, OPUSFILE.A??, OPUSINFO.A??,
  5734.      OPUSNET.A??, OPUSETUP.A??, OPUSDEF.A??, and ABOUT.A??.  If a
  5735.      called textfile doesn't exist, a message is usually displayed
  5736.      that the file is not found.
  5737.  
  5738.  
  5739.  
  5740.     Filename      Description
  5741.     ------------  -------------------------------------------------
  5742.  
  5743.     OPUSMAIN.A??  Help file for the Main Menu
  5744.  
  5745.     OPUSMAIL.A??  Help file for the Message Section
  5746.  
  5747.     OPUSINFO.A??  Help file for the Information Section
  5748.  
  5749.     OPUSNET.A??   Help file for the Network Section
  5750.  
  5751.     OPUSFILE.A??  Help file for the File Section
  5752.  
  5753.     OPUSETUP.A??  Help file for the Change Setup Section
  5754.  
  5755.     OPUSDEF.A??   Help file for Default Message Areas
  5756.  
  5757.     READHELP.A??  Help file accompanying the Read options
  5758.  
  5759.     SCANHELP.A??  Help file accompanying the Scan options
  5760.  
  5761.     EDITHELP.A??  Help file accompanying the internal editor
  5762.  
  5763.  
  5764.  
  5765.  
  5766.  
  5767.  
  5768.  
  5769.  
  5770.  
  5771.  
  5772.  
  5773.  
  5774.  
  5775.  
  5776.  
  5777.  
  5778.                                  ┌──────┐
  5779.                                  │  115 │
  5780.                                  └──────┘
  5781.  
  5782.                   LOG FILES
  5783.  
  5784.           Log (maintenance) files ...  Log files are created by
  5785.      several programs to enable you to keep a log of activity, or
  5786.      report errors.  These are not otherwise needed for
  5787.      operation.  The key activity log is SYSTEM.LOG.  Other logs
  5788.      include SWIFECHO.LOG and SWIFTBBS.ERR.  All Swift* programs
  5789.      log program errors in the file SWIFTBBS.ERR.
  5790.  
  5791.           SwiftBBS programs maintain the activity log file,
  5792.      SYSTEM.LOG that contains name, date, and time of user's
  5793.      logging on to the system, information on some options
  5794.      selected, invalid passwords, and method of logoff are also
  5795.      included.  The utility programs will also include entries
  5796.      here indicating options used, etc.
  5797.  
  5798.      29-Jan-92 07:17  -------------------------------------
  5799.      29-Jan-92 07:17  SwiftBBS Version 0.33 (pt) System Log
  5800.      29-Jan-92 07:17  -------------------------------------
  5801.  
  5802.      29-Jan-92 07:31  ***********************************
  5803.      29-Jan-92 07:31  Dana Bell on-line from console
  5804.      29-Jan-92 07:31  Invalid Password: "dork"
  5805.      29-Jan-92 07:31  Invalid Password: "wimp"
  5806.      29-Jan-92 07:31  Invalid Password: "dork"
  5807.      29-Jan-92 07:31  ACCESS DENIED!
  5808.      29-Jan-92 07:31  Normal logoff, Dana Bell off line.
  5809.      29-Jan-92 07:31  ***********************************
  5810.      29-Jan-92 07:32  Joe Wms on-line from console
  5811.      29-Jan-92 07:32  Name not in User file.
  5812.      29-Jan-92 07:32  Re-entering user name ...
  5813.      29-Jan-92 07:32  ***********************************
  5814.      29-Jan-92 07:32  Joe Williams on-line from console
  5815.      29-Jan-92 07:32  User Security Level = 1
  5816.      29-Jan-92 07:32  Message #299 entered in area 1: LOCAL
  5817.      29-Jan-92 07:33  Normal logoff, Joe Williams off line.
  5818.      29-Jan-92 07:47  ***********************************
  5819.      29-Jan-92 07:47  Joe Williams logging back on
  5820.      29-Jan-92 07:47  User Security Level = 1
  5821.      29-Jan-92 07:47  Normal logoff, Joe Williams off line.
  5822.  
  5823.  
  5824.           A separate log file SWIFTBBS.ERR contains information
  5825.      about system failure of SwiftBBS programs.  SwiftBBS uses
  5826.      this file to record key activities of SwiftBBS operation, but
  5827.      the existance of this file may not indicate a system failure,
  5828.      This file should accompany any bug-reports.
  5829.  
  5830.  
  5831.  
  5832.  
  5833.  
  5834.  
  5835.                                  ┌──────┐
  5836.                                  │  116 │
  5837.                                  └──────┘
  5838.  
  5839.      ---------------------------------------------
  5840.      SwiftBBS Version 0.28c (bbs/beta) Error Log File
  5841.      ---------------------------------------------
  5842.      Error occured:    01/23/92 23:10:51:
  5843.      SwiftBBS ref:     11, Can't read config.bbs
  5844.      SwiftBBS module:  swiftbbs.c 0.32 (pt)
  5845.      System code:      2, No such file or directory
  5846.  
  5847.      Error occured:    01/25/92 15:39:41:
  5848.      SwiftBBS ref:     129, No room to pack
  5849.      SwiftBBS module:  swifpack.c 0.32 (pt)
  5850.      System code:      0, Error 0
  5851.  
  5852.  
  5853.  
  5854.  
  5855.  
  5856.  
  5857.  
  5858.  
  5859.  
  5860.  
  5861.  
  5862.  
  5863.  
  5864.  
  5865.  
  5866.  
  5867.  
  5868.  
  5869.  
  5870.  
  5871.  
  5872.  
  5873.                     ┌────────────────────┬──────┐
  5874.                     │     Acronyms       │  117 │
  5875.                     └────────────────────┴──────┘
  5876.  
  5877.           In the computer field, acronyms are a way of life. The
  5878.      same is true in computer messaging, but many of the
  5879.      acronyms are generic (rather than technical) in nature. I
  5880.      don't have a very extensive list of them, but I'll attempt
  5881.      to list a few of the more common ones here.
  5882.           Some of these will enable you to write quicker replies
  5883.      while other will allow you to express some nice, sarcastic,
  5884.      or not so nice opinion.
  5885.  
  5886.      OTOH -- On the other hand...
  5887.  
  5888.      BTW -- By the way...
  5889.  
  5890.      IMO -- In my opinion...
  5891.  
  5892.      IMHO -- In my humble opinion...
  5893.  
  5894.      IMNSHO -- In my not so humble opinion...
  5895.  
  5896.      RTM -- Read the manual...
  5897.  
  5898.      RTFM -- Read the manual...
  5899.  
  5900.      RTFS -- Read the specs...
  5901.  
  5902.      FTFM -- Forget the manual...
  5903.  
  5904.  
  5905.  
  5906.  
  5907.  
  5908.  
  5909.  
  5910.  
  5911.                        ┌────────────────────┬───────┐
  5912.                        │    Smiley faces    │  118  │
  5913.                        └────────────────────┴───────┘
  5914.  
  5915.           The messages you read that have punctuation scattered
  5916.      throughout the message may not be the result of modem line
  5917.      noise. Much of the punctuation may simply be smiley/frowney
  5918.      faces to reflect
  5919.         :-)   happiness or comedy,
  5920.         :-(   sadness,
  5921.         :-o   surprise,
  5922.         :-%   or sarcasm.
  5923.           The following is a short list of some common and
  5924.      not-so-common smiley faces.  Interpretation of many smiley
  5925.      faces is generally left to the reader, as the definitions are
  5926.      not always universal.
  5927.  
  5928.  
  5929.                 BASIC SMILEYS
  5930.  
  5931.       :-)  Your basic smiley.  This smiley is used to inflect a
  5932.            sarcastic or joking statement since we can't hear voice
  5933.            inflection on the computer.
  5934.  
  5935.      ;-)   Winky smiley.  User just made a flirtatious and/or
  5936.            sarcastic remark.  More of a "don't hit me for what I
  5937.            just said" smiley.
  5938.  
  5939.      :-(   Frowning smiley or Sad Face.  User did not like that last
  5940.            statement or is upset or depressed about something.
  5941.  
  5942.      :-I   Indifferent smiley.  Better than a Frowning smiley but
  5943.            not quite as good as a happy smiley
  5944.  
  5945.      :->   User just made a really biting sarcastic remark.
  5946.            Worse than a :-).
  5947.  
  5948.      >:->  User just made a really devilish remark.
  5949.  
  5950.  
  5951.  
  5952.              IF YOU WEAR GLASSES
  5953.  
  5954.      B-)   User wears horn-rimmed glasses
  5955.  
  5956.      8-)   User is wearing sunglasses
  5957.  
  5958.      B-)   User wears sunglasses
  5959.  
  5960.      B:-)  Sunglasses on head
  5961.  
  5962.      Q-)   Glasses fully equipped with windscreen wipers
  5963.  
  5964.      R-)   Broken lens
  5965.  
  5966.      ::-)  User wears normal glasses
  5967.  
  5968.                                 ┌───────┐
  5969.                                 │  119  │
  5970.                                 └───────┘
  5971.  
  5972.  
  5973.                 ADVANCED SMILEYS
  5974.  
  5975.  
  5976.      (-:   User is left handed
  5977.  
  5978.      %-)   User has been staring at a green screen for 15 hours straight
  5979.  
  5980.      :*)   User is drunk
  5981.  
  5982.      #-)   User partied all night
  5983.  
  5984.      [:]   User is a robot
  5985.  
  5986.      %-)   User is cross-eyed
  5987.  
  5988.      O :-) User is an angel (at heart, at least)
  5989.  
  5990.      :-P   Nyahhhh!
  5991.  
  5992.      :-D   User is laughing or smiling big
  5993.  
  5994.      %-}   User is drunk with laughter
  5995.  
  5996.      :-X   User's lips are sealed, or Kiss, kiss.
  5997.  
  5998.      :-&   User is tongue-tied
  5999.  
  6000.      :-C   User is really bummed
  6001.  
  6002.      @=    User is pro-nuclear war
  6003.  
  6004.      *<:-) User is wearing a Santa Claus Hat
  6005.  
  6006.      :-o   Uh oh!
  6007.  
  6008.      d8=   User looks like a beaver wearing goggles and a hard hat.
  6009.  
  6010.      :-9   User is licking his/her lips
  6011.  
  6012.      [:-)  User is wearing a walkman
  6013.  
  6014.      <:-I  User is a dunce
  6015.  
  6016.      K:P   User is a little kid with a propeller beanie
  6017.  
  6018.      @:-)  User is wearing a turban
  6019.  
  6020.            The invisible smiley (anti-social)
  6021.  
  6022.      :-{)  User has a mustache
  6023.  
  6024.  
  6025.                                 ┌───────┐
  6026.                                 │  120  │
  6027.                                 └───────┘
  6028.  
  6029.  
  6030.      :-{}  User wears lipstick
  6031.  
  6032.      {:-)  User wears a toupee
  6033.  
  6034.      :-#)  Bushy Moustache
  6035.  
  6036.      :-:)  First moustache
  6037.  
  6038.      }:-(  Toupee in an updraft
  6039.  
  6040.      :-7   User just made a wry statement
  6041.  
  6042.      :-*   Oops shouldn't have said that...
  6043.         or User just ate something sour
  6044.  
  6045.      :-)~  User drools
  6046.  
  6047.      :-~)  User has a cold
  6048.  
  6049.      :-8(  condescending stare
  6050.  
  6051.      :'-(  User is crying
  6052.  
  6053.      :'-)  User is so happy, s/he is crying
  6054.  
  6055.      :-@   User is screaming
  6056.  
  6057.      :-#   User wears braces
  6058.  
  6059.      :^)   User has a broken nose
  6060.  
  6061.      :v)   User has a broken nose, but it's the other way
  6062.  
  6063.      |-I   User is asleep
  6064.  
  6065.      |-O   User is yawning/snoring
  6066.  
  6067.      |^o   Snoring
  6068.  
  6069.      ':-)  User accidentally shaved one of his eyebrows
  6070.  
  6071.      :-Q   User is a smoker, (or sticking out his tongue)
  6072.  
  6073.      :-?   User smokes a pipe
  6074.  
  6075.      :-'(  User has a cold
  6076.  
  6077.      :-B   Buck teef
  6078.  
  6079.      : >)  User has a big nose
  6080.  
  6081.  
  6082.                                 ┌───────┐
  6083.                                 │  121  │
  6084.                                 └───────┘
  6085.  
  6086.                    HOBBIES
  6087.  
  6088.      (:)-)   User likes to scuba dive
  6089.  
  6090.      O-)     Another Scuba Diver
  6091.  
  6092.      (V)=|   User is a pacman champion
  6093.  
  6094.      E-:-)   User is a Ham radio operator
  6095.  
  6096.      =:-)    User is a punk rocker
  6097.  
  6098.      =:-(    (real punk rockers don't smile)
  6099.  
  6100.  
  6101.  
  6102.             NATIONALITIES AND PROFESSIONS
  6103.  
  6104.      8-#)    Professor
  6105.  
  6106.      [:|]    User is a robot
  6107.  
  6108.      _:^)    User is an indian
  6109.  
  6110.      |-)     User is Chinese
  6111.  
  6112.     ~:-)     User is an American Indian
  6113.  
  6114.      (-:     User is  Australian
  6115.  
  6116.      <|-)    User is Chinese
  6117.  
  6118.      <|-(    User is Chinese and doesn't like these kind of jokes
  6119.  
  6120.      C=:-)   User is a chef
  6121.  
  6122.      ?:-)    A philosopher
  6123.  
  6124.      :-[     User is a Vampire
  6125.  
  6126.      :-E     Bucktoothed vampire
  6127.  
  6128.      :-F     Bucktoothed vampire with one tooth missing
  6129.  
  6130.  
  6131.  
  6132.  
  6133.  
  6134.  
  6135.  
  6136.  
  6137.  
  6138.  
  6139.                                 ┌───────┐
  6140.                                 │  122  │
  6141.                                 └───────┘
  6142.  
  6143.              ABBREVIATED SMILEYS
  6144.  
  6145.      Note: A lot of these can be typed without noses to make
  6146.            midget smileys.
  6147.  
  6148.      :)    Midget smiley
  6149.  
  6150.      ;D    Big grin
  6151.  
  6152.      :I    Hmmm...
  6153.  
  6154.      :(    Sad
  6155.  
  6156.      :[    Real Downer
  6157.  
  6158.  
  6159.  
  6160.                    MORE ADVANCED SMILEYS
  6161.  
  6162.      ..-)    Sole Fish (Sick Huh!)
  6163.      8)      User is a frog
  6164.      8+E     Nasty monster
  6165.      8:-)    User is a little girl
  6166.      8<-     Mosquito
  6167.      9-)     Monocle
  6168.      :+)     Cannabal
  6169.      :-(*)   User is getting sick
  6170.      :-)+<   Little man
  6171.      :-)-{8  User is a big girl
  6172.      :-)8    User is well dressed
  6173.      :-)8+<  Work it out!
  6174.      :->     Smirking
  6175.      :%)     User has acne
  6176.      :-O     Far out
  6177.      :-T     Keeping a straight face
  6178.      :-V     Shouting
  6179.      :-P     User is sticking out tonge
  6180.      :-W     Speak with forked tongue
  6181.      :-[]    What a square!
  6182.      :-v     Speaking
  6183.      :-|     No expression face
  6184.      :-}     Face  with pretty lips
  6185.      :< )    User is stuck up
  6186.      :=)     From Fiji
  6187.      :B)     My what big nostrils you have
  6188.      :C)     Nose ring
  6189.      :I)     Ugg
  6190.      :O)     Silly face
  6191.      :~)     User needs a nose job
  6192.      ;-)     Sly Wink
  6193.  
  6194.  
  6195.  
  6196.                                 ┌───────┐
  6197.                                 │  123  │
  6198.                                 └───────┘
  6199.  
  6200.      <:-)    Smilie II
  6201.      @-)     User is a cyclops
  6202.      K-)     racest
  6203.      O-)     Cyclops
  6204.      Q:-)    User is  a new grad
  6205.      X-)     Another monster
  6206.      }:-)    User parts his hair in the middle
  6207.      .-)     User only has one eye
  6208.      ,-)     Ditto...but he's winking
  6209.      :-0     smiley orator
  6210.      :-?     smiley smoking a pipe
  6211.      $-)     'money is his eyes'
  6212.      8-||    A cadaver  (thanks, LeStat)
  6213.      8<||    A skull
  6214.      :@)     A pig:
  6215.  
  6216.      C=}>;*{))  Mega-Smiley...  A drunk, devilish chef with a
  6217.            toupee in an updraft, a mustache, and a double chin
  6218.            (EDFH?)
  6219.  
  6220.      }:^#})  another mega-smiley: updrafted bushy-mustached pointy
  6221.            nosed smiley with a double-chin
  6222.  
  6223.      *!#*!^*&:-)  a schizophrenic
  6224.  
  6225.      :-) ... :-( ... :-) ... :-( ....
  6226.         a manic depressive
  6227.  
  6228.  
  6229.              PERSONALITY AND CELEBRITIES
  6230.  
  6231.      *<|:-)  User is Santa Claus
  6232.      +O:-)   User is the Pope
  6233.      +:-)    User is the Pope or holds some other religious office
  6234.      -:-)    User is or admires mr T
  6235.      5:-)    User is Elvis
  6236.      :-o     Mr Bill
  6237.      (8-o    Another Mr. Bill?
  6238.      :-\     Popeye smiling
  6239.      ;- \    Popeye gets his lights punched out
  6240.      =):-)   User is Uncle Sam
  6241.      4:-)    User is George Washington
  6242.      =|:-)   User is Abe Lincoln
  6243.      .-)     One eyed Jake
  6244.      P-)     One eyed Jake again
  6245.      :-=0    Adolph Hitler
  6246.      ;-$     H. Ross Perot (money talks)
  6247.      :-)     Wilt Chamberlin
  6248.      :-)     Willie Shoemaker
  6249.      *:o)    Bozo the Clown!
  6250.  
  6251.  
  6252.  
  6253.                                 ┌───────┐
  6254.                                 │  124  │
  6255.                                 └───────┘
  6256.  
  6257.      ###
  6258.       :o)    another Bozo the Clown:
  6259.      ###
  6260.  
  6261.  
  6262.      ###
  6263.      #:-)    Bon Jovi
  6264.      ###
  6265.  
  6266.  
  6267.      #
  6268.        :-)   Ed Koch
  6269.      #
  6270.  
  6271.  
  6272.                     ┌────────────────────┬──────┐
  6273.                     │      Afterward     │  125 │
  6274.                     └────────────────────┴──────┘
  6275.  
  6276.  
  6277.           While SwiftBBS programs are still in the "development"
  6278.      stage, most of the preliminary releases have been well tested
  6279.      and work reliably.  However, they aren't idiot-proof and have
  6280.      areas where needed features are missing.
  6281.  
  6282.                 Why SwiftBBS?
  6283.  
  6284.           One of the main reasons for writing SwiftBBS was to use
  6285.      it as a project from which to learn more about the C
  6286.      programming language.  I've learned quite a lot about
  6287.      algorithms, databases, and conversions of all types.  At the
  6288.      writing of this documentation, most modules in SwiftBBS are
  6289.      original.  The only exception is the (AT&T) public domain
  6290.      version of getopt.  Getopt is used here in order to aid in
  6291.      the promotion of a consistent commandline interface.
  6292.  
  6293.           A second reason is so I'll have my own BBS program.  By
  6294.      having "my own", I don't have to depend on others for a
  6295.      dependable BBS system.  By having "my own", I can readily
  6296.      make improvements, modifications, or bug-fixes and not have
  6297.      to wait on someone else.  By having "my own", I can give it
  6298.      away.  Prior to this program I don't know of any free BBS
  6299.      programs based on a database style message base.
  6300.  
  6301.           The third (& key) reason is so that I can use it (and
  6302.      other programs) to peak the interest of prospective
  6303.      employers.
  6304.  
  6305.           SwiftBBS is a freely available program.  Since BBS
  6306.      operations are basically hobbies, even with good programs,
  6307.      there's not enough money to be made in shareware writing BBS
  6308.      programs, so why try to profit from it.  The opportunity to
  6309.      learn and participate in all the echomail conferences is
  6310.      profit enough. This might also be thought of as my payment
  6311.      for use of other public domain or free software.
  6312.  
  6313.           If you can use it, I'm happy.  If it helps you learn
  6314.      from, communicate with, encourage, or help others, I'm
  6315.      happy.  If it helps you build something worthwhile for
  6316.      others, I'm happy.  If you choose to use your skills to write
  6317.      programs in the same spirit, I'm happy.
  6318.  
  6319.           But, if your goals are more toward destructive
  6320.      activities, manipulating or dominating others, you don't have
  6321.      the basic skills required to operate SwiftBBS.  If you want
  6322.      to tear down something, use some other program.
  6323.  
  6324.  
  6325.  
  6326.  
  6327.  
  6328.  
  6329.                     ┌────────────────────┬──────┐
  6330.                     │ Worksheets & Notes │  126 │
  6331.                     └────────────────────┴──────┘
  6332.  
  6333.  
  6334.  
  6335.  
  6336.  
  6337.  
  6338.  
  6339.  
  6340.  
  6341.  
  6342.  
  6343.  
  6344.  
  6345.  
  6346.  
  6347.  
  6348.                     ┌────────────────────┬──────┐
  6349.                     │ Worksheets & Notes │  127 │
  6350.                     └────────────────────┴──────┘
  6351.  
  6352.  
  6353.  
  6354.  
  6355.  
  6356.  
  6357.  
  6358.  
  6359.  
  6360.  
  6361.  
  6362.  
  6363.  
  6364.  
  6365.  
  6366.  
  6367.                     ┌────────────────────┬──────┐
  6368.                     │ Worksheets & Notes │  128 │
  6369.                     └────────────────────┴──────┘
  6370.  
  6371.  
  6372.  
  6373.  
  6374.  
  6375.  
  6376.  
  6377.  
  6378.  
  6379.  
  6380.  
  6381.  
  6382.  
  6383.  
  6384.  
  6385.  
  6386.                     ┌────────────────────┬───────┐
  6387.                     │       Index        │  129  │
  6388.                     └────────────────────┴───────┘
  6389.  
  6390.  
  6391.       *.A??  . . . . . . . . . . 46    Dedication . . . . . . . .  1
  6392.       *.ANS  . . . . . . . . . . 46    Default Message menu . . . 29
  6393.       *.ASC  . . . . . . . . . . 46    Directory structure  . 83, 85
  6394.       *.AVT  . . . . . . . . . . 46    Echo areatag . . . . . . . 18
  6395.       .ASW . . . . . . . . . 49, 64    Echo,Echomail  . . . . . . 32
  6396.       .Q-A . . . . . . . . . 49, 64    ECHOORIG.CTL . . . . . . . 19
  6397.       Access . . . . . . . . . . 39    Electronic mailbox . . . . 32
  6398.       Acknowledgements . . . . . ii    Errorlevel . . . . . . . . 20
  6399.       Acronyms . . . . . . . .  117    EXITINFO.BBS . . . . . . . 14
  6400.       Advanced SwiftBBS  . . . . 54    External editor  . . . . . 42
  6401.       Afterward  . . . . . . .  123    File Attach  . . . . . . . 32
  6402.       Aka  . . . . . . . . . . . 16    File Request . . . . . . . 26
  6403.       Alt-functions  . . . . . . 53    File Section . . . . . . . 26
  6404.       ANSI.COM . . . . . . . . . 22    FilesPath  . . . . . . . . 71
  6405.       ANSI.SYS . . . . . . . 20, 22    Full-scrn edit . . . . . . 28
  6406.       Appendices . . . . . . . . 95    GOODBYE.A??  . . . . . . . 47
  6407.       Applications . . . . . . . 80    Group  . . . . . . . . . . 41
  6408.       AREAS.BBS  . . . . . . 19, 72    Help files . . . . . . .  114
  6409.       Areatag  . . . . . . . . . 18    Home messaging . . . . . . 80
  6410.       ASCII  . . . . . . . . . . 46    Index  . . . . . . . . .  129
  6411.       AVATAR . . . . . . . . . . 23    InfoCodes  . . . . . . . . 99
  6412.       Avatar support . . . . . . 21    Information Section  . . . 27
  6413.       Batch file(s)  . . . . 89, 92    Installation . . . . . . . 11
  6414.       Baudrate . . . . . . . . . 20    Inter-office . . . . . . . 80
  6415.       BBS Identification . . . . 13    Interfacing  . . . . . . . 83
  6416.       BBS network defaults . . . 16    Internal editor  . . . . . 42
  6417.       BBS overview . . . . . . . 84    Intra-office . . . . . . . 80
  6418.       Beta honors  . . . . . .  iii    Introduction . . . . . . .  2
  6419.       BINKLEY  . . . . . . . 87, 91    Jump Start . . . . . . . . 11
  6420.       BINKLEY.CFG  . . . . . . . 87    Keystroke summary  . . . . 44
  6421.       BINKLEY.EVT  . . . . . . . 87    KILLCOUNT  . . . . . . . . 76
  6422.       BTCTL.EXE  . . . . . . . . 87    KILLSTAT.BBS . . . . . . . 76
  6423.       Bugs, reporting  . . .  5, 79    Limitations  . . . . . . .  9
  6424.       Bulletin creation  . . . . 63    LIMITS.CTL . . . . . . . . 60
  6425.       Bulletins  . . . . 24, 30, 48    Links  . . . . . . . . . . 39
  6426.       C:\POINT . . . . . . . . . 85    LOGO.ASC . . . . . . . . . 46
  6427.       Change Setup Section . . . 28    Logon  . . . . . . . . 22, 46
  6428.       Chat mode  . . . . . . . . 53    Mail Overview  . . . . . . 70
  6429.       Command language . . . .  102    MailPath . . . . . . . . . 71
  6430.       Command-line options . . . 20    MAIN Menu  . . . . . . . . 24
  6431.       Compatibility  . . . . . .  9    Main Node Address  . . . . 16
  6432.       Computer Based Messaging .  2    Maintenance files  . . .  114
  6433.       CONFIG.BBS . . . . . . . . 12    Making the point . . . . . 85
  6434.       CONFIG.SYS . . . . . . . . 22    MAXKEEP  . . . . . . . . . 76
  6435.       Contents   . . . . . . . . iv    Menu editing . . . . . . . 55
  6436.       Control-F  . . . . . . . . 47    Menu planning  . . . . . . 58
  6437.       Control-K  . . . . . . . . 47    Menu Type  . . . . . . . . 57
  6438.       Custom menu  . . . . . . . 24    Menu Types . . . . . . . . 96
  6439.       Custom menus . . . . . . . 55    Menupath . . . . . . . . . 14
  6440.       Custom versions  . . . . . 81    Message boards . . . . . . 18
  6441.  
  6442.  
  6443.                                 ┌───────┐
  6444.                                 │  130  │
  6445.                                 └───────┘
  6446.  
  6447.       Message database . . . . .  2    Quoting string . . . . . . 40
  6448.       Message editor . . . . . . 21    Registration . . . . . . .  4
  6449.       Message editor interface  110    Relog  . . . . . . . . . . 21
  6450.       Message editors  . . . . . 42    Replies  . . . . . . . . . 39
  6451.       Message Section  . . . . . 25    Reply reading  . . . . . . 39
  6452.       Message-base . . . . . . . 80    Requirements . . . . . . .  6
  6453.       Message-chain  . . . . . . 39    Sample BBS setup . . . . . 91
  6454.       Messaging  . . . . . . . . 31    Sample message . . . . . . 34
  6455.       Modem Busy String  . . . . 15    SEC<##>.ASC  . . . . . . . 47
  6456.       Modem initialization . . . 15    Selected Reading . . . . . 38
  6457.       MSGTXT . . . . . . . . . . 77    Smiley faces . . . . . .  118
  6458.       Navigation . . . . . . . . 44    Source code  . . . . . . . 10
  6459.       Net  . . . . . . . . . . . 41    Strip  . . . . . . . . . . 71
  6460.       Net/node . . . . . . . . . 40    SWIFCNFG . . . . . . . 12, 55
  6461.       Netmail board  . . . . . . 16    SWIFDUMP . . . . . . . . . 79
  6462.       Netpath  . . . . . . . . . 14    SWIFECHO . . . . . . . . . 71
  6463.       Network Overview . . . . . 68    SWIFECHO.CTL . . . . . . . 71
  6464.       Network Section  . . . . . 26    SWIFECHO.LOG . . . . . . . 73
  6465.       Networks . . . . . . . . . 82    SWIFLINK . . . . . . . . . 75
  6466.       NEWS . . . . . . . . . . . 23    SWIFPACK . . . . . . . . . 76
  6467.       NEWS.A?? . . . . . . . . . 47    SwiftBBS files . . . . .  112
  6468.       NEWUSER1.ASC . . . . . . . 46    SWIFTBBS.ERR . . . . . .  114
  6469.       NEWUSER2.A?? . . . . . . . 46    Swiftscan  . . . . . . . . 25
  6470.       Node search  . . . . . . . 26    Sysop messaging  . . . . . 51
  6471.       Nodelist . . . . . . . . . 69    Sysop's View . . . . . . . 46
  6472.       NODELIST.PTS . . . . . . . 88    System Setup . . . . . . . 12
  6473.       Nodelists  . . . . . . 88, 92    Terminal . . . . . . . . . 21
  6474.       NOTFOUND.ASC . . . . . . . 46    Textfile editor  . . . . . 52
  6475.       Ommm . . . . . . . . . 87, 92    Textpath . . . . . . . . . 14
  6476.       OMMM.CFG . . . . . . . . . 88    Threads  . . . . . . . . . 39
  6477.       OMMM.CTL . . . . . . . . . 88    Toni . . . . . . . . . . .  1
  6478.       Opus Menus . . . . . . . . 24    TOP.MNU  . . . . . . . . . 50
  6479.       Opus mode  . . . . . . . . 21    Trace  . . . . . . . . . . 21
  6480.       Opus style messaging . . . 20    Unattended . . . . . . . . 21
  6481.       Opus-CBCS  . . . . . . . . 24    User List  . . . . . . . . 27
  6482.       Origin line  . . . . . . . 18    User maintenance . . . . . 60
  6483.       OutBoundPath . . . . . . . 71    User's View  . . . . . . . 22
  6484.       PARSELST . . . . . 69, 88, 92    USERS.BBS  . . . . . . 21, 60
  6485.       PARSELST.CFG . . . . . . . 88    Utilities  . . . . . . . . 68
  6486.       PASSWORD.A?? . . . . . . . 46    WELCOME.A??  . . . . . . . 47
  6487.       Point overview . . . . . . 83    Worksheets & Notes . . .  124
  6488.       POINTFIX . . . . . . . . . 84    ZAVT . . . . . . . . . . . 23
  6489.       QNL*.BBS . . . . . . . . . 69    Zone . . . . . . . . . . . 41
  6490.       Questionnaire programs . . 64
  6491.       Questionnaires . . . . . . 49
  6492.       Queue  . . . . . . . . . . 26
  6493.       QuickBBSPath . . . . . . . 71
  6494.       QUICKED.EXE  . . . . . . . 13
  6495.       Quickmenus . . . . . . . . 24
  6496.       Quoting reply text . . . . 40
  6497.  
  6498.  
  6499.  
  6500. ** Free Breakfast
  6501.           ..Free breakfast (a low-cost setup)
  6502.